Есть ли где-нибудь, что hostspot JVM процесс хранит память, кроме этих мест:Как Hotspot Java/JVM хранит память?
- завивки гена
- штатного поколения
- Эдема пространства
- из космоса
- в космос
- кэш кода
То есть: Какие существуют возможные способы, чтобы процесс «горячей точки» мог зарезервировать & фиксации памяти на машине, так что указанная память не не найдена в статистике для одного из этих мест?
Некоторые ответы я могу думать (дайте мне знать, если это правда):
- виртуальная память, используемая для стеков потоков не представлены в этих числах
- любые загруженные DLLS или файлов.
EDIT:
некоторые другие ответы Дано: (., Например, от библиотек DLL)
- java.exe сам
- JNI методы могут выделить сам
- любой машинный код памяти может выделить Память.
- общие метаданные JVM для запуска себя.
Собственный код будет выделять собственную память. Это, строго говоря, работает за пределами JVM, но это заставит вашу программу использовать больше памяти, чем она сообщает в этих числах. –
Имейте в виду, что все вышеперечисленные «пространства» представляют собой одно конкретное семейство JVM (Hotspot) - нет ничего, что говорит о том, что каждая JVM имеет «пространство с эденом» или «пространство». Три основных пространства, присутствующих практически в любом процессе JVM, - это куча основного объекта, куча, используемая для информации о классе и кода, и куча «не-Java», используемая внутренними элементами JVM. (Можно утверждать, что исполняемый стек является еще одним «пространством» или считает его «не-Java».) –