1、Serial收集器曾經是虛擬機新生代收集的唯一選擇,是一個單線程的收集器,在進行收集垃圾時,必須stop the world,它是虛擬機運行在Client模式下的默認新生代收集器。
2、Serial Old是Serial收集器的老年代版本,同樣是單線程收集器,使用標記整理算法。
3、ParNew收集器是Serial收集器的多線程版本,許多運行在Server模式下的虛擬機中首選的新生代收集器,除Serial外,只有它能與CMS收集器配合工作。
4、Parallel Scavenge收集器也是新生代收集器,使用復制算法又是並行的多線程收集器,它的目標是達到一個可控制的運行用戶代碼跟(運行用戶代碼+垃圾收集時間)的百分比值。
5、Parallel Old收集器是Parallel Scavenge收集器的老年代版本,使用多線程和標記整理算法。
6、Concurrent Mark Sweep 收集器是一種以獲得最短回收停頓時間為目標的收集器,基於標記清除算法。
過程如下:初始標記,並發標記,重新標記,並發清除,優點是並發收集,低停頓,缺點是對CPU資源非常敏感,無法處理浮動垃圾,收集結束會產生大量空間碎片。
7、G1收集器是基於標記整理算法實現的,不會產生空間碎片,可以精確地控制停頓,將堆划分為多個大小固定的獨立區域,並跟蹤這些區域的垃圾堆積程度,在后台維護一個優先列表,每次根據允許的收集時間,優先回收垃圾最多的區域(Garbage First)。
