Встречается на собеседованиях • сегодня

Что происходит с JVM во время работы Garbage Collector

Во время работы Garbage Collector (GC) JVM приостанавливает выполнение приложения (Stop-The-World, STW) для анализа и освобождения памяти. Основные этапы:

  1. Marking – GC проходит по объектам в heap, помечая живые (достижимые через корневые ссылки).
  2. Sweeping – удаляются неотмеченные (мертвые) объекты.
  3. Compacting (опционально) – живые объекты перемещаются для устранения фрагментации.

Пример с кодом:

java
// Создаем мусор
for (int i = 0; i < 10000; i++) {
    new Object(); // Эти объекты станут недостижимыми
}
System.gc(); // Запрос на выполнение GC (не гарантирует немедленный вызов)

Типы GC (Serial, Parallel, CMS, G1, ZGC) отличаются стратегиями работы, но общий принцип сохраняется. Современные GC (ZGC, Shenandoah) минимизируют STW-паузы.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы