JVM系列-内存分配


1.对象优先在Eden区分配

VM参数:
-Xms20M
-Xmx20M
-Xmn10M
-XX:+PrintGCDetails
-verbose:gc
-XX:SurvivorRatio=8
-XX:+UseSerialGC

2.大对象直接进入老年代

VM参数:
-Xms20M
-Xmx20M
-Xmn10M
-XX:+PrintGCDetails
-verbose:gc
-XX:SurvivorRatio=8
-XX:+UseSerialGC
-XX:PretenureSizeThreshold=3145728

3.长期存活的对象将进入老年代

VM参数:
-Xms20M
-Xmx20M
-Xmn10M
-XX:+PrintGCDetails
-verbose:gc
-XX:SurvivorRatio=8
-XX:+UseSerialGC
-XX:+PrintTenuringDistribution
-XX:MaxTenuringThreshold=1


MaxTenuringThreshold=1

MaxTenuringThreshold=15

4.动态对象年龄判定

动态对象年龄判定,即如果GC时,当前survivor区空间相同年龄的所有对象的大小总和大于survivor空间的一半,则年龄大于或者等于该年龄的对象就直接进入老年代,无需等待MaxTenuringThreshold中的年龄要求

VM参数:
-Xms20M
-Xmx20M
-Xmn10M
-XX:+PrintGCDetails
-verbose:gc
-XX:SurvivorRatio=8
-XX:+UseSerialGC

声明:微默网|版权所有,违者必究|如未注明,均为原创|本网站采用BY-NC-SA协议进行授权

转载:转载请注明原文链接 - JVM系列-内存分配


不以物喜,不以己悲! 不忘初心,方得始终!