Зачем java-программисту знать как работает сборщик мусора и как устроен байт-код?
1,00
р.
р.
Все вокруг это говорят. Но как это применяется на практике? GC ведь и был придуман, что бы облегчить программисту работу с памятью, что бы программист мог абстрагироваться от этого. А нам часто говорят, надо понять, как работает GC. Практическое применение байт-кода только одно вижу - это если человек пишет свой язык, на платформе JVM. А еще это где-нибудь применяется на практике?
Ответ У сборщика мусора есть разные стратегии и реализации: Serial GC, Parallel GC, CMS GC, G1. Каждый из них обладает набором своих параметров, регулируя которые можно добиться тонкой настройки JVM под конкретное приложение (в зависимости от задач можно увеличить пропускную способность, уменьшить STW-задержки, уменьшить потребляемые ресурсы, грамотно выделить объемы памяти под молодое/старое поколения и т.п.). Естественно знать эти нюансы не обязательно и можно просто пользоваться стандартными настройками JVM... До тех пор пока ваше приложение не начинает пожирать всю доступную оперативную память или появляются задержки в его работе. Вот тогда-то эти знания и пригодятся. На мой взгляд, хороший программист тем и отличается, что он обладает широким кругозором и знает как работает тот инструмент, которым он пользуется.