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

Как происходит очистка мусора в Java

В Java сборка мусора (Garbage Collection, GC) автоматически освобождает память от объектов, которые больше не используются. Основные принципы:

  1. Объекты в куче (heap) - GC работает только с областью heap
  2. Достижимость - объект удаляется, если нет ссылок на него из "корней" (стек, статические поля и т.д.)
  3. Поколения - heap разделен на Young (Eden, Survivor) и Old Generation

Пример:

java
Object obj = new Object(); // создали объект
obj = null; // потеряли ссылку - объект стал кандидатом на удаление

Основные алгоритмы GC:

  • Serial - однопоточный, для небольших приложений
  • Parallel - многопоточный, throughput-oriented
  • CMS/G1/ZGC - low-pause collectors

Можно явно запросить GC (но это лишь рекомендация):

java
System.gc();

Важно: finalize() deprecated в Java 9+, лучше использовать Cleaner или PhantomReference.

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

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

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

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