JVM虚拟机控制堆栈大小参数小记

-Xms:初始堆大小(最小堆)。
-Xmx:最大堆大小。
-Xmn:年轻代大小(Sun官方推荐配置为整个堆的3/8)。
-Xss:每个线程的堆大小(在相同物理内存下,减小这个值能生成更多的线程)。
-Xms  和 -Xmx  设置成一致的值可以避免堆自动扩展。
JVM内存大小 = 年轻代大小 + 老年代大小 + 持久代大小(perm)。

JVM虚拟机控制堆栈大小参数小记_第1张图片
eden内存不足时,发生一次minor GC,会把survivor 0 和eden的对象复制到survivor 1,这次的survivor 1就变成了下次的survivor 0,经过多次minor GC,默认15次(古时候女子15岁及笄,要结婚的年纪,嘿嘿),达到次数的对象会从survivor进入老年代。new出来的对象如果新生代装不下,则直接进入老年代。
JVM虚拟机控制堆栈大小参数小记_第2张图片JVM虚拟机控制堆栈大小参数小记_第3张图片
从上图就可以看出,s0 和 s1 位置互换了。从数值上可以看出 年轻代内存分配约为整个堆的3/8。

你可能感兴趣的:(Java)