查看垃圾回收器
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垃圾收集器