一、Serial收集器
1、虚拟机新生代收集的唯一选择。(client端)
2、单线程。
3、简单高效。
4、复制算法
二、ParNew收集器
1、Serial的多线程版本
2、唯一能和CMS收集器配合使用。
3、复制算法
三、Parallel Scavenge收集器
1、并行的多线程收集器
2、吞吐量 = 运行用户代码时间/(运行用户代码时间+垃圾收集时间)
3、复制算法
四、Serial Old收集器
1、Serial收集器的老年版本。
2、标记-整理算法
五、Parallel Old收集器
1、Parallel Scavenge的老年代版本
2、标记-整理算法
六、CMS收集器
1、以获取最短回收停顿时间为目标的收集器。
2、标记-清除算法
3、运作过程:
-初始标记:标记与GC Roots能直接关联到的对象(stop the world)
-并发标记:进行GC Roots Tracing的过程
-重新标记:修正并发标记期间,因用户程序运行而产生变动的新的对象,对其进行标记(stop the world)
-并发删除:清除垃圾