Вопрос проверяет знание устройства кучи и принципов работы сборщика мусора.
Heap — это область памяти, где хранятся объекты Java.
Она общая для всех потоков.
Heap делится на несколько зон для оптимизации сборки мусора.
Такое разделение ускоряет работу GC.
Heap — центральная область памяти JVM, напрямую связанная с производительностью приложения.
Heap — это область памяти JVM, предназначенная для хранения всех объектов и массивов.
Объекты живут в heap до тех пор, пока на них есть ссылки.
Разделение основано на наблюдении:
Большинство объектов живут недолго
Небольшая часть объектов живет долго
Heap обычно делится на поколения:
Young Generation
Eden Space
Survivor Space (S0, S1)
Old Generation
Долгоживущие объекты
Процесс выглядит так:
Новые объекты создаются в Eden
Выжившие переносятся в Survivor
Долгоживущие переходят в Old
Heap делится на зоны для ускорения сборки мусора.
Такой подход снижает нагрузку на GC и повышает производительность JVM.