Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Задачи

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

AI info

Карта сайта

Документы

Медиа

Назад
Вопрос про Java: heap, garbage

Что такое heap и какие зоны в нем существуют?

Вопрос проверяет знание устройства кучи и принципов работы сборщика мусора.

Короткий ответ

Heap — это область памяти, где хранятся объекты Java.
Она общая для всех потоков.
Heap делится на несколько зон для оптимизации сборки мусора.
Такое разделение ускоряет работу GC.

Длинный ответ

Heap — центральная область памяти JVM, напрямую связанная с производительностью приложения.

Что такое heap

Heap — это область памяти JVM, предназначенная для хранения всех объектов и массивов.

Объекты живут в heap до тех пор, пока на них есть ссылки.

Зачем heap делится на зоны

Разделение основано на наблюдении:

  1. Большинство объектов живут недолго

  2. Небольшая часть объектов живет долго

Основные зоны heap

Heap обычно делится на поколения:

  1. Young Generation

    • Eden Space

    • Survivor Space (S0, S1)

  2. Old Generation

    • Долгоживущие объекты

Как работает идея поколений

Процесс выглядит так:

  1. Новые объекты создаются в Eden

  2. Выжившие переносятся в Survivor

  3. Долгоживущие переходят в Old

Краткий вывод

Heap делится на зоны для ускорения сборки мусора.
Такой подход снижает нагрузку на GC и повышает производительность JVM.

Уровень

  • Рейтинг:

    5

  • Сложность:

    6

Навыки

  • Java

    Java

Ключевые слова

#heap

#garbage

Подпишись на Java Developer в телеграм