查閱了衆多資料, 發現 JDK1.8 默認垃圾收集器組合會有以下兩種版本
- Parallel Scavenge(新生代) + Serial Old(PS MarkSweep)(老年代) 組合
- Parallel Scavenge(新生代) + Parallel Old(老年代) 組合。
這兩個版本肯定有一個是有問題的,那到底哪個版本纔是java8正確的默認垃圾收集器組合呢?爲什麼會出現這兩個不同的版本呢?看完下面的解釋你就明白。
查看默認設置收集器類型
λ java -XX:+PrintCommandLineFlags -version
-XX:InitialHeapSize=132165184 -XX:MaxHeapSize=2114642944 -XX:+PrintCommandLineFlags -XX:+UseCompressedClassPointers -XX:+UseCompressedOops -XX:-UseLargePagesIndividualAllocation -XX:+UseParallelGC
java version "1.8.0_171"
Java(TM) SE Runtime Environment (build 1.8.0_171-b11)
Java HotSpot