Sobes.tech
Назад к вопросам
Senior
6

Что является корневыми точками (GC Roots) для сборщика мусора?

Компании, где спрашивали
СБЕРСБЕР

Ответ от нейросети

sobes.tech AI

Корневыми точками (GC Roots) для сборщика мусора в Java являются объекты, с которых начинается обход графа объектов для определения достижимых объектов. Объекты, до которых можно добраться от GC Roots, считаются живыми и не подлежат сборке.

Основные виды GC Roots:

  • Статические переменные (static fields) — ссылки из статических полей классов.
  • Активные потоки (Threads) — объекты, связанные с текущими потоками исполнения.
  • Локальные переменные и параметры методов — ссылки, находящиеся в стеке вызовов текущих потоков.
  • Объекты, зарегистрированные через JNI (Java Native Interface) — ссылки, удерживаемые нативным кодом.

Сборщик мусора начинает обход с этих корневых точек, помечая все достижимые объекты. Объекты, до которых нет пути от GC Roots, считаются недостижимыми и подлежат удалению.