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

Может ли произойти утечка памяти в Java

Да, утечки памяти возможны даже в Java с её сборщиком мусора (GC). Основные причины: 1. **Статические коллекции** - объекты, добавленные в статическую коллекцию, не удаляются GC: ```java static List cache = new ArrayList<>(); void addToCache(Object obj) { cache.add(obj); // Утечка - объекты остаются навсегда } ``` 2. **Незакрытые ресурсы** (Streams, Connections) - нужно использовать try-with-resources: ```java try (FileInputStream fis = new FileInputStream("file.txt")) { // работа с потоком } // автоматически закрывается ``` 3. **Слушатели событий** - если не удалять слушатели, они держат ссылки на объекты. 4. **Внутренние классы** - нестатический внутренний класс хранит ссылку на внешний класс. Для обнаружения утечек используют профайлеры (VisualVM, YourKit) и мониторинг памяти через JMX.
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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