JVM中的内存关系

  • Post author:
  • Post category:其他


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

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



版权声明:本文为qq_22474115原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。