Назад к вопросам
СБЕР
Senior
7
Как работает Garbage Collector в Java?
Компании, где спрашивали
Ответ от нейросети
sobes.tech AI
Garbage Collector (GC) в Java автоматически управляет памятью, освобождая объекты, которые больше не используются программой. JVM отслеживает объекты в куче и определяет, какие из них недостижимы из корневых ссылок (например, из стека, статических переменных). Такие объекты считаются мусором и подлежат удалению.
Основные этапы работы GC:
- Маркировка: определение живых объектов.
- Очистка: удаление неиспользуемых объектов.
- Компактизация: сжатие памяти для уменьшения фрагментации (в некоторых алгоритмах).
Java использует разные алгоритмы GC, например:
- Serial GC — простой однопоточный сборщик.
- Parallel GC — многопоточный для повышения производительности.
- G1 GC — делит кучу на регионы, оптимизирует паузы.
Пример: когда объект перестает иметь ссылки из активного кода, GC освободит его память, чтобы избежать утечек и переполнения кучи.