垃圾回收器搭配和調優

因爲Java11中 ZGC的出現,儘可能不要對GC調優的研究下太多功夫,對將來來講,這是貶值的。

新生代的垃圾回收器

收集器 算法 收集器類型 說明 適用場景
Serial 複製算法 單線程 進行垃圾回收時,須暫停全部工做線程,知道回收完成 簡單高效,適合內存不大的狀況
ParNew 複製算法 多線程並行 它是Serial收集器的多線程版本 搭配CMS的首選
Parallel Scavenge(吞吐量優先收集器) 複製算法 多線程並行 相似ParNew,更加關注吞吐量 主要適合後臺運算不須要太多交互的任務

老年代的垃圾回收器

收集器 算法 收集器類型 說明 適用場景
Serial Old 標記整理 單線程 JDK7/8默認的 Client模式下虛擬機適用
Parallel Old 標記整理 多線程並行 Parallel Scavenge的老年代版本 在注重吞吐量場景下使用
CMS 標記清除 並行、併發 儘量縮短GC時用戶線程中止的時間,缺點:一、容易有內存碎片 二、須要更多的cpu資源 三、產生浮動垃圾,須要更大的堆空間 重視服務的相應速度
G1 跨代、標記整理 並行、併發 JDK7正式引入,採用分區回收的思惟,基本不犧牲吞吐量的前提下,低停頓內存回收,可預測的停頓是其最大的優點 面向服務端應用的垃圾回收器,目標是取代CMS

垃圾回收器搭配

image-20200803224511274

相關文章
相關標籤/搜索