jdk1.8 使用的是什么垃圾回收器?
查看方式
在jdk1.8环境下执行命令:
java -XX:+PrintCommandLineFlags -version
输出
我的是在Windows下cmd测试的,输出如下:
C:\Users\Administrator>java -XX:+PrintCommandLineFlags -version
-XX:InitialHeapSize=133159296 -XX:MaxHeapSize=2130548736 -XX:+PrintCommandLineFlags
-XX:+UseCompressedClassPointers -XX:+UseCompressedOops -XX:-UseLargePagesIndividualAllocation -XX:+UseParallelGC
java version "1.8.0_201"
Java(TM) SE Runtime Environment (build 1.8.0_201-b09)
Java HotSpot(TM) 64-Bit Server VM (build 25.201-b09, mixed mode)
上面最后的-XX:+UseParallelGC就是代表设置的默认垃圾回收器方式
-XX:+UseParallelGC具体代表的是使用什么垃圾回收器呢?
结论
在周志明《深入理解Java虚拟机》的垃圾收集器参数总结章节中提到参数为UseParallelGC表示虚拟机运行在server模式下的默认值,使用的是Parallel scavenge + Serial Old(PS MarkSweep)收集器组合。
PrintCommandLineFlags 参数作用
可以查看被用户或者JVM设置过的XX参数的名称和值