Full GC обычно затрагивает больше heap, включая долгоживущие объекты, и может давать длинные паузы. Minor GC в поколенческой модели в основном обрабатывает young generation.
Почему Full GC (глубокая чистка) хуже, чем Minor GC? Где она происходит и чем характеризуется?
Full GC обычно затрагивает больше heap, включая долгоживущие объекты, и может давать длинные паузы. Minor GC в поколенческой модели в основном обрабатывает young generation.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Full GC обычно затрагивает больше heap, включая долгоживущие объекты, и может давать длинные паузы. Minor GC в поколенческой модели в основном обрабатывает young generation.
Большинство краткоживущих объектов быстро умирает, поэтому сборка молодого поколения часто дешевле. Full GC может сканировать большой живой граф, освобождать и уплотнять старые области; нехватка памяти и высокая аллокация делают его частым симптомом проблемы. Однако термины и фазы зависят от коллектора: нельзя описывать G1, ZGC и Serial одной схемой пауз. Анализируйте конкретные GC-логи, причины запусков и длительности; «Full всегда хуже» без нагрузки и требований слишком грубо.