У вас должны быть НЕКОТОРЫЕ знания о том, как работает сборка мусора для Java по двум причинам:
Во-первых, если вы не знаете, как это работает, то вы можете случайно принять проектные решения, которые приведут к худшей производительности в вашем реальном приложении. Это становится все менее вероятным с улучшением GC, но если у вас есть выбор алгоритмов в вашем приложении, то знание чего-то о GC означает, что вы можете выбрать один со знанием того, что он собирается делать, вместо того, чтобы узнать, что это вызывает плохое поведение.
Во-вторых, если вы не знаете, как это работает, вы не сможете настроить GC для данного приложения. Большинству Java-программистов никогда не нужно настраивать GC, поскольку параметры по умолчанию работают достаточно хорошо в большинстве случаев. Если вы делаете что-то, что выходит из этого «большую часть времени», то вы можете настроить параметры GC. Делать это без ведома GC - это просто случайное вращение ручек - вы можете извлечь из этого что-то полезное, но, скорее всего, вы просто испортите ситуацию.
Итак, хотя я не ожидал бы, что хороший Java-программист будет знать все о GC под солнцем, я бы ожидал, что этот программист узнает на каком-то уровне, как GC в JVM используют функции и каковы компромиссы для этого. GC алгоритм.