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

Как работает Garbage Collector в Java?

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

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

sobes.tech AI

Garbage Collector (GC) в Java автоматически управляет памятью, освобождая объекты, которые больше не используются программой. JVM отслеживает объекты в куче и определяет, какие из них недостижимы из корневых ссылок (например, из стека, статических переменных). Такие объекты считаются мусором и подлежат удалению.

Основные этапы работы GC:

  • Маркировка: определение живых объектов.
  • Очистка: удаление неиспользуемых объектов.
  • Компактизация: сжатие памяти для уменьшения фрагментации (в некоторых алгоритмах).

Java использует разные алгоритмы GC, например:

  • Serial GC — простой однопоточный сборщик.
  • Parallel GC — многопоточный для повышения производительности.
  • G1 GC — делит кучу на регионы, оптимизирует паузы.

Пример: когда объект перестает иметь ссылки из активного кода, GC освободит его память, чтобы избежать утечек и переполнения кучи.