Логотип YeaHub

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

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

Тренажёр

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

Обучение

Навыки

Задачи

Войти

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

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

© 2026 YeaHub

AI info

Карта сайта

Документы

Медиа

Назад
Вопрос про Java: gc, roots

Что такое GC Roots?

Вопрос проверяет понимание того, как сборщик мусора определяет, какие объекты живы.

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

GC Roots — это начальные точки, от которых GC начинает поиск живых объектов.
Все объекты, достижимые от GC Roots, считаются живыми.
Недостижимые объекты подлежат удалению.
Это основа алгоритма сборки мусора.

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

Сборщик мусора не удаляет объекты случайно — он анализирует связи между ними.

Что такое GC Roots

GC Roots — это набор ссылок, от которых сборщик мусора начинает обход графа объектов.

Они считаются всегда достижимыми.

Основные источники GC Roots

К GC Roots относятся:

  1. Локальные переменные в стеке потоков

  2. Активные потоки

  3. Статические поля классов

  4. JNI-ссылки

Как GC использует GC Roots

Алгоритм работает так:

  1. GC берет все GC Roots

  2. Обходит все ссылки

  3. Помечает достижимые объекты

  4. Остальные объекты считаются мусором

Практическое значение

Понимание GC Roots помогает:

  1. Искать утечки памяти

  2. Анализировать heap dump

  3. Понимать, почему объект не удаляется

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

GC Roots — это фундамент механизма сборки мусора.
Именно от них зависит, какие объекты останутся в памяти.

Уровень

  • Рейтинг:

    5

  • Сложность:

    7

Навыки

  • Java

    Java

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

#gc

#roots

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