Serial收集器: 一種新生代的單線程收集器,採用複製算法回收。當它進行垃圾收集時,其餘用戶的全部線程都將暫停。算法
Serial Old收集器:Serial的老年代版本,採用的是標記-清除算法,一樣也是單線程收集器。多線程
ParNew收集器:ParNew收集器其實是Serial的多線程版本,除了多線程收集垃圾外,其他的包括收集算法(複製算法)、對象分配規則、回收策略等都與Serial收集器徹底同樣。併發
Parallel Scavenge 收集器:是一種新生代收集器,採用的是複製算法,是一種並行的多線程收集器,該收集器旨在提升系統的吞吐量(運行用戶代碼的時間/(運行用戶代碼的時間+垃圾收集時間)),因此Parallel Scavenger收集器又被稱爲」吞吐量優先」收集器。線程
Parallel Old收集器:是Parallel Scavenge 收集器的老年代版本,採用的是‘標記-清除’算法。code
CMS收集器:尤爲重視用戶服務的響應速度,希系統的停頓時間最短,以給用戶帶來較好的體驗。併發收集,低停頓。使用的而是‘標記-清除’算法。對象
G1收集器:當前收集器技術發展的最前沿技術之一內存
並行與併發的方式; 採用的分代收集,能夠不與其它收集器配合獨立管理整個GC堆; 空間整合:總體上看G1採用的是‘標記-整理’算法,可是從局部來看是基於」複製」算法。但不管如何,這兩種算法都意味着G1算法都不會產生內存空間碎片,收集後能夠提供規整的可用內存。 運做步驟:初始標記;併發標記;最終標記;篩選回收。
備註:並行
併發:垃圾收集線程能夠和用戶線程同時執行技術
並行:能夠有多條垃圾收集線程,可是此時的用戶線程仍然處於等待狀態。時間