Java8默认使用的GC类型

先说结论 默认使用的是 Parallel Scavenge (新生代) 和 Parallel Old (老年代),基于我的Jdk 1.8.0_181-b13版本

1 先简单的介绍Java目前的垃圾收集器

连线的部分标识可以配合使用,对垃圾收集器不做过多介绍 JavaGC.jpg

他们对应的JVM参数如下

新生代(别名) 老年代 JVM 参数 Serial (DefNew) Serial Old(PSOldGen) -XX:+UseSerialGC Parallel Scavenge (PSYoungGen) Serial Old(PSOldGen) -XX:+UseParallelGC Parallel Scavenge (PSYoungGen) Parallel Old (ParOldGen) -XX:+UseParallelOldGC ParNew (ParNew) Serial Old(PSOldGen) -XX:-UseParNewGC ParNew (ParNew) CMS+Serial Old(PSOldGen) -XX:+UseConcMarkSweepGC G1 G1 -XX:+UseG1GC
使用 jps 找出要查看java进程 pid 使用jinfo 命名查看 使用的GC组合类型
--java版本
wuffy@MacBook-Pro-2  ~/logs/gc  java -version
java version "1.8.0_181"
Java(TM) SE Runtime Environment (build 1.8.0_181-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.181-b13, mixed mode)
-- 获取程序pid
 wuffy@MacBook-Pro-2  ~/logs/gc  jps
3352 DuoCouponApplication
-- 使用jinfo确认 
 wuffy@MacBook-Pro-2  ~/logs/gc  jinfo -flag UseParallelOldGC 3352
-XX:+UseParallelOldGC
 wuffy@MacBook-Pro-2  ~/logs/gc  jinfo -flag UseSerialGC 3352
-XX:-UseSerialGC
可以看到 我运行在JDK1.8 使用默认参数的java应用使用的GC组合是 Parallel Scavenge (新生代) 和 Parallel Old (老年代)
经验分享 程序员 微信小程序 职场和发展