查看垃圾回收器
java -XX:+PrintCommandLineFlags -version

java -XX:+PrintGCDetails -version

以上两个命令都可以查看到当前jdk使用的垃圾回收器,可以看到我的机器jdk8默认是使用的是Parallel Scavenge + Parallel Old
| 新生代 | 老年代 | JVM参数 | 备注 |
|---|---|---|---|
| Serial | Serial | -XX:+UseSerialGC | |
| Parallel Scavenge | Serial | -XX:+UseParallelGC -XX:-UseParallelOldGC | |
| Parallel Scavenge | Parallel Old | -XX:+UseParallelGC -XX:+UseParallelOldGC | |
| Parallel New | CMS | -XX:+UseParNewGC -XX:+UseConcMarkSweepGC | |
| G1 | -XX:+UseG1GC |
通过以上列表可以辨别jdk使用垃圾回收器的选择,以下我整理了一下热门jdk版本的默认垃圾回收器
| 版本 | 新生代 | 老年代 |
|---|---|---|
| JDK8 | Parallel Scavenge | Parallel Old |
| JDK9 | G1 | |
| JDK10 | G1 | |
| JDK11 | G1 | |
| JDK12 | G1 | |
| JDK13 | G1 | |
| JDK14 | G1 | |
| JDK15 | G1 |

可见jdk8以后版本jdk默认都是G1垃圾收集器