Что такое GC roots? Какие они бывают?

GC roots (корни сборщика мусора) — это объекты или ссылки, которые считаются точками входа для алгоритма сборки мусора в .

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

Что ответить на собеседовании

GC roots (корни сборщика мусора) — это объекты или ссылки, которые считаются точками входа для алгоритма сборки мусора в .NET. Сборщик мусора начинает обход объектов именно с этих корней, чтобы определить, какие объекты живы и должны остаться в памяти.

Подробный разбор

Ответ с пояснениями

GC roots (корни сборщика мусора) — это объекты или ссылки, которые считаются точками входа для алгоритма сборки мусора в .NET. Сборщик мусора начинает обход объектов именно с этих корней, чтобы определить, какие объекты живы и должны остаться в памяти.

Типичные GC roots в .NET:

  • Локальные переменные и параметры текущих потоков (стек вызовов).
  • Статические поля классов.
  • Объекты, зарегистрированные через GCHandle с типом Pinned.
  • Объекты, используемые в управляемом коде через COM-interop.
  • Объекты, связанные с активными делегатами и событиями.

Все объекты, достижимые из этих корней, считаются живыми, остальные — кандидаты на удаление.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее