Java 11 中帶了一個新的GC回收器:Z Garbage Collector (ZGC)。併發
適用於:性能
Java 11 才引入,目前仍是實驗性質線程
能夠經過:-XX:+UseZGC
啓用ZGC; 還須要帶上:-XX:+UnlockExperimentalVMOptions
(解鎖隱藏vm選項)code
ZGC中最重要的參數,就是堆的最大空間:-Xmx
。內存
由於ZGC是併發執行,因此最大堆空間必須設定:資源
對於ZGC併發執行GC的線程數量,能夠經過:-XX:ConcGCThreads
設定。io
ZGC默認會自動測算出一個合理的線程數量:並行
若是不是對暫停時間有特殊要求,那麼請儘可能讓VM本身來選擇GC策略。im
若是須要,還能夠經過調整堆區大小,來改進性能。若是還不能達到性能要求,能夠從如下幾個方面來選擇GC策略:數據
-XX:+UseSerialGC
-XX:+UseSerialGC
-XX:+UseParallelGC
-XX:+UseG1GC
-XX:+UseConcMarkSweepGC
-XX:UseZGC
(徹底併發回收)以上策略僅僅是選用GC的通常思路。GC性能主要取決於:
若是通過這些分析,沒有得到預期中的性能表現。請首先嚐試調整堆區大小、分代空間大小;若是性能仍然不理想,再嘗試不一樣的GC策略: