G1 在压缩空间方面有优点。内存
G1 经过将内存空间分红区域(Region)的方式避免内存碎片问题。get
Eden, Survivor, Old 区再也不固定、在内存使用效率上来讲更灵活。io
G1 能够经过设置预期停顿时间(Pause Time)来控制垃圾收集时间避免应用雪崩现象。效率
G1 在回收内存后会立刻同时作合并空闲内存的工做、而 CMS 默认是在 STW(stop the world)的时候作。im
G1 会在 Young GC 中使用、而 CMS 只能在 O 区使用。cpu
吞吐量优先:G1top
响应优先:CMS时间
CMS 的缺点是对 cpu 的要求比较高。G1 是将内存化成了多块,全部对内段的大小有很大的要求。vi
CMS 是清除,因此会存在不少的内存碎片。G1 是整理,因此碎片空间较小。co
本文由猿必过 YBG 发布