Встречается на собеседованиях • сегодня
Откуда нужно начинать строить Garbage Collector
Начинать построение GC следует с анализа требований к приложению: latency, throughput, memory footprint.
Основные шаги:
- Выбор стратегии (mark-sweep, generational, concurrent и т.д.)
- Определение корней (стек, статические поля, JNI references)
- Реализация обхода графа объектов (например, mark phase)
- Очистка памяти (sweep, compact или copy)
Пример минимального mark-sweep:
java
void mark(Object obj) {
if (obj == null || obj.isMarked()) return;
obj.setMarked(true);
for (Object ref : obj.getReferences()) {
mark(ref);
}
}
void sweep() {
for (Object obj : heap) {
if (!obj.isMarked()) free(obj);
else obj.setMarked(false);
}
}Важно учитывать stop-the-world паузы, параллелизм и безопасность потоков.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы