java 虚拟机内存区域
堆和栈
堆是用来存放对象,
栈是用来执行程序的。
JVM 运行时内存区域
1.线程独有的内存区域
1.1 PROGRAM COUNT REGISTER 程序计数器
他是当前线程执行的字节码行号显示器。java方法执行的时候才有这,native 方法执行的时候是空的,这块内存大小很小
1.2 JAVA STACK 虚拟机栈
用来存局部变量表,方法出入口等信息,每一个方法重被调用到执行结束的过程,就对应一个栈帧在虚拟机入栈出栈的过程。
1.3 NATIVE JAVA STACK navtive方法栈
2 线程建共享的内存区域
2.1 HEAP 堆
用来存放对象实例
2.2 METHOD AREA 方法区
用来存储虚拟机加载类信息,常量,静态变量