CMS垃圾回收器
特点:
- 使用标记清除算法
- 多线程垃圾回收器,更关注GC停顿
CMS垃圾回收器流程
- 初始标记---独占式操作,标记出要回收的对象
- 并发标记---并发操作,标记要回收的对象
- 预清理---并发操作,清理前准备和控制GC停顿时间
- 重新标记---独占式操作,标记要回收的对象
- 并发清理---并发操作,真正清理回收对象
- 并发重置 ---并发操作,为下次回收做准备
G1回收器
特点
- 并行--同时运行多个垃圾回收线程
- 并发--跟应用程序交替运行
- 分代--属于分代垃圾收集器,不过同时兼顾老年代和新生代
- 空间整理--每次回收会有效复制对象避免出现内存碎片
- 虽然它属于分代回收器,从对结构来看,它不要求 eden 区,from,to区连续,使用了分区算法,每次回收选部分区域,这样有效降低GC停顿时间