Где члены Static хранятся в памяти, это постоянное поколение?
Статические члены, где они проживают. Мне нужно подробное объяснение статического, локального и выделения экземпляра памяти членов (переменные, методы). Управление памятью (это постоянное поколение).
2 ответа
Решение
Статические члены: постоянное поколение (куча)
локальная переменная: память стека, которая не является кучей. смотрите здесь http://tutorials.jenkov.com/java-concurrency/java-memory-model.html
Это зависит от используемой вами версии Java:
- До Java8: статика (как и другие "постоянные" вещи) хранилась в
PermGen
, Это просто часть модели памяти, как молодой и старый. - Java8: здесь PermGen удален! Например, по ряду причин его было сложно настроить. Конечно, все данные не были просто оставлены, так как они нам все еще нужны. Это было просто перенесено в
Metaspace
, который находится внутри собственной памяти (так за пределами кучи Java).