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

Какие знаешь алгоритмы поиска мусора

В Java используется алгоритм Mark and Sweep (Пометь и очисти). Он работает в два этапа:

  1. Mark – обход всех достижимых объектов из корневых точек (стек, статические поля) и пометка их как живых.
  2. Sweep – удаление непомеченных объектов (мусора) и освобождение памяти.

Также есть оптимизации:

  • Generational GC – разделение объектов на поколения (Young, Old) для эффективного сбора.
  • Parallel/CMS/G1 – разные реализации сборщиков под разные нагрузки.

Пример (упрощённо):

java
Object obj1 = new Object(); // Создаём объект  
Object obj2 = new Object();  
obj1 = null; // obj1 становится мусором  
System.gc(); // Запрос на сборку (не гарантирует немедленный вызов GC)  

Нюансы:

  • System.gc() – лишь подсказка JVM, реальный вызов зависит от реализации.
  • Stop-the-world – GC может приостанавливать потоки.
  • G1 (Garbage-First) – баланс между latency и throughput, работает с регионами.
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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