Доброе Утро.Изучаю Модель памяти.И как я понел в стаке есть методы которые держут ссылки на обьекты внутри хипа ,но помимо хипа есть и meta раздел .Про него немогу ниче понять чем не устраивал хип и стак также ссылается на meta ?
Кратко
Код и метаданные классов (имя, родительский класс, списки полей и методов).
Подробно
Память в Java делится на несколько областей, предназначенных для хранения разных типов данных. В heap (который также делится на несколько областей, подробнее - в любой статье по сборке мусора в Java) хранятся создаваемые объекты. В стеке - ссылки на объекты в heap и значения примитивных типов (int, float и т. д.), которые видны из текущей точки выполнения. А в Metaspace (до Java 8 - в Permanent Generation) хранится код и метаданные классов. Под них выделили отдельную область памяти, потому что, в отличие от других объектов, они неизменяемые, а значит, можно провести ряд оптимизаций как по хранению и доступу к ним, так и по сборке мусора. До Java 5 в Permanent Generation сборка мусора по умолчанию не проводилась, однажды загруженный виртуальной машиной класс не выгружался до конца работы программы. В Java 7 Permanent Generation подвергался сборке мусора по умолчанию, в рамках full GC. На заре развития Java, когда не было динамической загрузки классов во время выполнения, это был обоснованный подход, но с течением времени он изжил себя. Например, при редеплое приложения на сервере Java EE в Permanent Generation оставались классы старой версии приложения, что быстро приводило к OutOfMemoryError: PermGen space. Начиная с Java 8 Permanent Generation заменён на Metaspace. Принципиальное различие между ними заключается в том, что Metaspace автоматически расширяется по мере наполнения. Теперь получить ошибку OutOfMemoryError: PermGen space (точнее её аналог OutOfMemoryError: Metaspace) становится сложнее. Без явного указания опции -XX:MaxMetaspaceSize Metaspace будет расширяться до тех пор, пока есть свободная память.
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости