先写一段代码配合设置的JVM 参数来模拟Young GC
JVM参数设置是这样的
我本地JDK是1.8,参数是按照1.8来设置的
-XX:NewSize=5120k
-XX:MaxNewSize=5120k
-XX:InitialHeapSize=10240k
-XX:MaxHeapSize=10240k
-XX:SurvivorRatio=8
-XX:PretenureSizeThreshold=10240k
-XX:+UseParNewGC
-XX:+UseConcMarkSweepGC
-XX:+PrintGCDetails
参数解读:
-XX:NewSize=5120k 初始新生代(年轻代)大小5M
-XX:MaxNewSize=5120k 最大新生代(年轻代)大小5M
-XX:InitialHeapSize=10240k 初始堆大小10M
-XX:MaxHeapSize=10240k 最大堆大小10M
-XX:SurvivorRatio=8 年轻代eden区和两个survivor区比例是8:1:1
-XX:PretenureSizeThreshold=10240k 当对象大于10M时直接进入老年代
-XX:+UseParNewGC (年轻代)使用parnew垃圾回收器
-XX:+UseConcMarkSweepGC (老年代)使用cms垃圾回收器
-XX:+PrintGCDetails 打印gc详细日志
模拟代码是这样的
public class GcTest {
public static void main(String[] args