1程序计数空间
如果线程执行的是非native方法,程序计数器保存当前执行指令的地址,如果为native方法则计数器为undefined;
程序计数器中存的数据就是指令地址数据,他不会随程序执行发生变化,所以不会内存溢出;
2java 虚拟机栈;(c中的栈)栈中包含多个帧,每个帧对应一个被调用的方法,其中存放局部变量、操作数栈、方法返回地址等数据
3本地方法栈;该内存区域同虚拟机栈,区别是java栈为执行Java方法服务的,而本地方法栈则是为执行本地方法(Native Method)服务的
4堆 存放对象本身 以及数组,,(数组的引用存放在栈中)
5方法区,,与堆一样是线程共享,类信息、静态变量、常量以及编译后的代码等