CMS 和 G1 有什么区别?
先自己想一想,再看参考要点
参考要点
- 回收范围:CMS 只回收老年代,要与 ParNew 配合,G1 用 Region 统一管理新生代和老年代
- 碎片:CMS 用标记 - 清除,碎片多时只能 Full GC,G1 把存活对象复制到空闲的 Region,普通对象不产生碎片(Humongous 对象需要连续的 Region,可能因找不到连续空间而提前 Full GC)
- 停顿:CMS 的停顿无法控制,G1 按停顿时间目标挑选要回收的 Region
- 并发标记:CMS 用增量更新,G1 用原始快照(SATB)