G1 与 CMS 两个垃圾收集器的对比

Posted 猿必过

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了G1 与 CMS 两个垃圾收集器的对比相关的知识,希望对你有一定的参考价值。

细节方面不同

G1 在压缩空间方面有优势。

G1 通过将内存空间分成区域(Region)的方式避免内存碎片问题。

Eden, Survivor, Old 区不再固定、在内存使用效率上来说更灵活。

G1 可以通过设置预期停顿时间(Pause Time)来控制垃圾收集时间避免应用雪崩现象。

G1 在回收内存后会马上同时做合并空闲内存的工作、而 CMS 默认是在 STW(stop the world)的时候做。

G1 会在 Young GC 中使用、而 CMS 只能在 O 区使用。

整体内容不同

吞吐量优先:G1

响应优先:CMS

CMS 的缺点是对 cpu 的要求比较高。G1 是将内存化成了多块,所有对内段的大小有很大的要求。

CMS 是清除,所以会存在很多的内存碎片。G1 是整理,所以碎片空间较小。

本文由猿必过 YBG 发布

以上是关于G1 与 CMS 两个垃圾收集器的对比的主要内容,如果未能解决你的问题,请参考以下文章

JVM垃圾收集器CMS和G1

JVM垃圾收集器

JVMJVM内存结构之——垃圾收集器(并发与并行/ GC性能指标/ 垃圾收集器组合关系/ CMS收集器/ G1收集器)

垃圾回收器CMS与G1的区别

垃圾回收器CMS与G1的区别

垃圾回收期-G1和CMS