Урок Java 349: Модель памяти Java и алгоритмы работы сборщиков мусора
Основы структуры памяти в Java
Память. Обычно память в Java делится на две большие части: стек и куча. Стек (Stack) Стековая память отвечает за хранение ссылок на объекты кучи и за хранение типов значений (также известных в Java как примитивные типы), которые содержат само значение, а не ссылку на объект из кучи. Кроме того, переменные в стеке имеют определенную видимость, также называемую областью видимости. Используются только объекты из активной области. Например, предполагая, что у нас нет никаких глобальных переменных (полей)...
Обнаружение и предотвращение утечек памяти в Java
Источник: Nuances of Programming Введение Несмотря на наличие в Java надежной автоматической сборки мусора, утечки памяти в этом языке остаются сложной проблемой для разработчиков. Такие утечки происходят, когда объекты больше не нужны приложению, но на них по-прежнему ссылаются другие объекты, что не позволяет сборщику мусора освободить занимаемую ими память. Со временем это может привести к значительному снижению производительности приложения и даже к его аварийному завершению из-за исключения OutOfMemoryError...