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

Что такое утечка памяти

Утечка памяти — ситуация, когда объекты больше не используются приложением, но не освобождаются сборщиком мусора (GC) из-за оставшихся ссылок. Частые причины: 1. **Статические коллекции** — объекты добавляются, но никогда не удаляются: ```java static List cache = new ArrayList<>(); void addToCache(Object obj) { cache.add(obj); // Утечка, если не очищать } ``` 2. **Незакрытые ресурсы** (потоки, соединения): ```java try { Connection conn = DriverManager.getConnection(url); // Забыли conn.close(); } catch (SQLException e) {...} ``` 3. **Слушатели событий** — не отписываются при уничтожении объекта. **Как избежать**: - Использовать `WeakReference` для кешей. - Закрывать ресурсы в `try-with-resources`: ```java try (Connection conn = DriverManager.getConnection(url)) {...} ``` - Очищать коллекции/отписывать слушателей.
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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