Java для Android-разработчиков - #9 - Внутренние классы и утечки памяти
Обнаружение и предотвращение утечек памяти в Java
Источник: Nuances of Programming Введение Несмотря на наличие в Java надежной автоматической сборки мусора, утечки памяти в этом языке остаются сложной проблемой для разработчиков. Такие утечки происходят, когда объекты больше не нужны приложению, но на них по-прежнему ссылаются другие объекты, что не позволяет сборщику мусора освободить занимаемую ими память. Со временем это может привести к значительному снижению производительности приложения и даже к его аварийному завершению из-за исключения OutOfMemoryError...
☕ Задача для опытных Java-разработчиков: «Призрачная утечка памяти в продакшене
☕ Задача для опытных Java-разработчиков: «Призрачная утечка памяти в продакшене» 🧠 Уровень: Senior Java / JVM Internals 🎯 Цель: Найти источник утечки памяти в долгоживущем Java-сервисе и объяснить поведение GC 📍 Ситуация: У вас есть Java-сервис (Spring Boot), который стабильно работает 5–6 часов, а потом начинает резко тормозить. Мониторинг показывает рост heap usage почти до лимита, несмотря на регулярные GC-сборки. Интересные факты: - GC срабатывает часто, но не очищает больше 20–30% хипа - Не происходит OutOfMemoryError, но приложение начинает "фризить" - Подозрения падают на кэш, но...
Java. Поиск и устранение одной утечки памяти
Утечки памяти довольно редко, но рано или поздно появляются в профессиональной деятельности разработчика ПО. Поиск причины утечки всегда непрост, особенно в больших проектах. Приведу пример, как я искал такую утечку, возможно это поможет тем, кто столкнулся с подобным. Что мы имеем Есть проект, который я первый раз вижу, система учета проезда машин через КПП. Стек средств и технологий: Tomcat 8, Java 1.8, GWT 2.5, Hibernate 3.6.7, Maven. При определенных настройках фильтрации пунктов пропуска использование памяти растет до потолка и портал перестает работать...