一. jvm虚拟机运行时数据区域说明

程序计数器:
当前线程执行的字节码的行号指示器,占用空间小,也无法干涉。
虚拟机栈:
每个线程私有的,线程在运行时,在执行每个方法的时候都会打包成一个栈帧,存储了局部变量表, 操作数栈,动态链接,方法出口等信息,然后放入栈。
每个时刻正在执行的当前方法就是虚拟机栈顶的栈桢。方法的执行就对应着栈帧在虚拟机栈中入栈和 出栈的过程。栈桢大小缺省为1M,可用参数 –Xss调整大小,例如-Xss256k
Java堆:
几乎所有对象都分配在这里,也是垃圾回收发生的主要区域,可用以下参数调整:
-Xms:堆的最小值;
-Xmx:堆的最大值;
-Xmn:新生代的大小;
-XX:NewSize;新生代最小值;
-XX:MaxNewSize:新生代最大值;
例如- Xmx256m