垃圾收集器:算法
Serial 收集器:多線程
單線程收集器,專一作收集,會暫停別的工做。收集效果好。併發
ParNew 收集器:線程
是Serial的多線程版本。目前只有它能和CMS收集器配合。對象
Parallel Scavenge 收集器:資源
是一個新生代的收集器。也是使用複製算法並行的多線程收集器。並行
關注點是:達到一個可控制的吞吐量。吞吐量=運行用戶代碼時間 / (運行用戶代碼時間+垃圾收集時間)。服務端
Serial Old 收集器:時間
單線程,使用 "標記-整理"算法。是Serial 收集器的老年代版本。浮動
Parallel Old 收集器:
多線程,使用 "標記-整理"算法。是Parallel Scavenge 收集器的老年代版本。
CMS收集器:
是一種以獲取最短回收停頓時間爲目標的收集器。基於「標記-清除」算法實現的。併發收集,低停頓。
缺點:1)對CPU資源很是敏感。
2)沒法處理浮動垃圾。(就是在清理過程當中產生的新垃圾)
3)基於「標記-清除」,收集處理後,空間碎片太多,將會給大對象分配帶來很大麻煩。
G1收集器;
當今收集器最前沿的成果之一。面向服務端應用的垃圾收集器。
1)並行和併發。
2)分代收集。
3)空間整合。
4)可預測的停頓。
對比:
1) G1 和CMS對比,雖然它們都立足於低停頓時間,CMS 任然是咱們如今的選擇。由於G1 不是很成熟。若是刻意追求低停頓,
但是嘗試G1.