7种:
1.serial收集器
单线程,工作时必须暂停其他工作线程。多用于client机器上,使用复制算法
2.ParNew收集器
serial收集器的多线程版本,server模式下虚拟机首选的新生代收集器。复制算法
3.Parallel Scavenge收集器
复制算法,可控制吞吐量的收集器。吞吐量即有效运行时间。
4.Serial Old收集器
serial的老年代版本,使用整理算法。
5.Parallel Old收集器
第三种收集器的老年代版本,多线程,标记整理
6.CMS收集器
目标是最短回收停顿时间。标记清除算法实现,分四个阶段:
- 初始标记:GC Roots直连的对象做标记
- 并发标记:多线程方式GC Roots Tracing
- 重新标记:修正第二阶段标记的记录
- 并发清除。
缺点:标记清除算法的缺点,产生碎片。CPU资源敏感。
7.G1收集器
基本思想是化整为零,将堆分为多个Region,优先收集回收价值最大的Region。
- 并行并发
- 分代收集
- 空间整合(标记整理算法)
- 可预测的停顿