JVM中的内存关系

           Java会从系统内存(CPU Regisers、CPU Cache Memory、RAM Main Memory)中申请大块的堆内存、和栈区(虚拟机、本地方法栈、程序计数器),申请的这部分称为工作内存,是经过虚拟化了的,称为虚拟机内存。剩下的内存统一称为堆外内存。

           堆外内存又称本地内存,本地内存中有部分可以借助工具(JNI 或者 JNA)直接访问,这部分内存称为直接内存,本地内存中的还有一部分内存划给了元空间(方法区),但是这部分内存不受XX:MaxDirectMemorySize参数限制,不知道为什么说元空间使用的是直接内存。猜测这种说法是错误的,正确的说法可能是元空间使用的本地内存而非直接内存,本地内存不等于直接内存。直接内存和元空间(方法区)是并列关系,都是在本地内存中。不知道怎样去验证这种猜测的准确性

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
THE END
分享
二维码
< <上一篇
下一篇>>