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

Можно ли узнать куда утекла память

Для обнаружения утечек памяти в Java можно использовать следующие инструменты и подходы:

  1. Профилировщики:

    • VisualVM (входит в JDK)
    • Eclipse MAT (Memory Analyzer Tool)
    • YourKit
    • JProfiler
  2. Анализ дампа памяти:

java
// Создание дампа памяти программно
Runtime.getRuntime().gc();
File heapDump = new File("heapdump.hprof");
HotSpotDiagnosticMXBean bean = ManagementFactory.getPlatformMXBean(HotSpotDiagnosticMXBean.class);
bean.dumpHeap(heapDump.getAbsolutePath(), true);
  1. Мониторинг через JMX:

    • Мониторить MemoryPoolMXBean
    • Следить за тенденцией использования памяти
  2. Weak/Soft/PhantomReference - помогают отслеживать утечки через ReferenceQueue

Основные места утечек:

  • Статические коллекции
  • Незакрытые ресурсы (Streams, Connections)
  • Listeners без отписки
  • Кэши без ограничений
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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