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

Как выключить сборщика мусора

В Java нельзя явно выключить сборщик мусора (GC) - это часть JVM, работающая автоматически. Однако можно:

  1. Вызвать System.gc() - лишь "подсказка" JVM, но не гарантирует сборку
  2. Использовать флаги JVM для отключения GC:
    • -XX:+DisableExplicitGC - запрещает System.gc()
    • -XX:+UseNullGC (экспериментальный) - почти не собирает мусор
  3. Управлять памятью вручную через ByteBuffer.allocateDirect()

Пример с прямым буфером:

java
ByteBuffer buffer = ByteBuffer.allocateDirect(1024); // вне кучи
// используем буфер...
((DirectBuffer) buffer).cleaner().clean(); // ручное освобождение

Важно: отключение GC приведет к OutOfMemoryError. Лучше оптимизировать код и настраивать GC под нагрузку (G1, ZGC и др.).

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

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

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

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