JDK1.8服务器环境下,使用jmap -heap 21248查看堆时,能够看到里面有这样的内容
using thread-local object allocation.
Parallel GC with 4 thread(s)
Parallel GC with 4 thread(s)的真正含义是:垃圾回收器新生代是Parallel Scavenge,老年代是Parallel Old。这也是JDK8在Server模式下的默认垃圾回收器。
此时,通过命令行查看:
java -XX:+PrintCommandLineFlags
-XX:InitialHeapSize=125030592 -XX:MaxHeapSize=2000489472 -XX:+PrintCommandLineFlags -XX:+UseCompressedClassPointers -XX:+UseCompressedOops -XX:+UseParallelGC
输出的-XX:+UseParallelGC,在我们曾经见到的很多书籍或者资料中,代表的都是Parallel Scavenge(新生代) + Serial Old(老年代)。这其实是没有及时更新造成的一个误导。
通过官方网站可以得到证实:
在 JDK 8 的官网有这样的说法: