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