jvm内存区域的相关知识,是Java虚拟机的基础知识,也很重要,参考他人博客,用了这张总结很好的图,下面对这五个部分简要介绍下。
1,Java堆(Heap) 存放对象实例,几乎所有对象的实例都在这里分配内存。
2,方法区(Method Area) 存储已被虚拟机加载的类信息、常量、静态变量、即时编译器编译后的代码等数据。
3,虚拟机栈(VM Stack) 描述的是Java方法执行的内存模型:每个方法在执行的同时会创建一个Stack Frame(方法运行时的数据结构),用于存储局部变量表、操作数栈、动态连接、方法出口等信息。
4,本地方法栈(Native Method Stack) 和虚拟机栈类似,不过是为虚拟机使用到的Native方法服务。(有的虚拟机譬如SunHotSpot虚拟机直接把本地方法栈和虚拟机栈合二为一)
5,程序计数器(Program Counter Register) 可看作当前线程所执行的字节码的行号标识器。
转载请注明原文地址: https://ju.6miu.com/read-8113.html