Встречается на собеседованиях • сегодня
Как найти утечку памяти в Java
Для поиска утечек памяти в Java можно использовать следующие подходы:
1. **Профилирование с помощью VisualVM или YourKit**:
```java
// Запуск с флагами для мониторинга
// -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/path/to/dump.hprof
```
2. **Анализ дампов памяти**:
- Снимаем дамп при OOM или вручную через `jmap -dump:format=b,file=heap.hprof `
- Анализируем в Eclipse MAT или JVisualVM
3. **Мониторинг через JMX**:
```java
MemoryMXBean memoryBean = ManagementFactory.getMemoryMXBean();
MemoryUsage heapUsage = memoryBean.getHeapMemoryUsage();
```
Ключевые индикаторы утечки:
- Постоянный рост heap после GC
- Большое количество объектов одного типа
- Неочищаемые ссылки в коллекциях (особенно статических)
Частые причины:
- Незакрытые ресурсы (Streams, Connections)
- Статические коллекции
- Listener'ы без удаления
- Кэши без ограничений

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