Bezdepbonusu7Программирование: статьи и ответы

Вопрос

Область метода и PermGen

Автор вопроса: Ratheesh P KumarОтветов: 4

Я пытался понять структуру памяти HotSpot JVM и запутался с двумя терминами: "Область метода" и "PermGen" пространство. В документах, на которые я ссылался, говорится, что область метода содержит определение классов и методов, включая байтовый код. В некоторых других документах говорится, что они хранятся в пространстве PermGen.

Итак, могу ли я сделать вывод, что эти две области памяти одинаковы?

  • Обновление: из java8 на словах нет PermGen, и все классы, методы, стринги хранятся в Metaspace. Ссылка: karunsubramanian.com/websphere/ < / а> Ramesh Papaganti 12.01.2018

javamemory-managementjvmjvm-hotspotpermgen

Ответы

Ответ 1 · рейтинг 18 · xea

Вам следует взглянуть на типы памяти Java и, при необходимости, на этот документ об сборке мусора в Java. Последнее очень многословно, и оба они полезны.

Фактически область метода является частью постоянного поколения:

Третье поколение, тесно связанное с постоянным поколением, - это постоянное поколение. Постоянная генерация является особенной, потому что она содержит данные, необходимые виртуальной машине для описания объектов, не имеющих эквивалента на уровне языка Java. Например, объекты, описывающие классы и методы, хранятся в постоянной генерации.

Ответ 2 · рейтинг 6 · Ernest Friedman-Hill

Вы можете рассматривать "Область методов" как подмножество "PermGen", поскольку постоянное пространство генерации действительно содержит определения классов, но также содержит интернированные строки и другие биты данных, которые вряд ли когда-либо будут отброшены.

Ответ 3 · рейтинг 4 · Pinkesh Sharma

Область метода - это в основном пространство без кучи, такое как Stack, которое хранит скелет класса. скелет включает статические переменные со значениями, конструкторами и т. д. Операция отражения выполняется в этой области памяти. Perm - это пространство памяти, параллельное куче, в котором хранится двоичный код текущего исполняемого класса.

Ответ 4 · рейтинг 3 · killjoy

дает довольно хорошее представление, которое я больше нигде не нашел

Большинство людей называют Heap и Stack эквивалентами и основными компонентами, но Тай дает идеальное объяснение с превосходными изображениями.

Изменить: ссылка больше не работает :(

Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.

Похожие материалы