JVM垃圾回收器G1和CMS

G1垃圾回收器

G1代表Garbage First,优先回收垃圾较多的区域以达到暂停时间短的目标。将堆内存划分为多个大小不等的Region,每个Region可以独立作为伊甸园、幸存区、老年代。

使用标记-整理算法,进行空间整合,没有内存空间碎片。

可预测垃圾回收的停顿时间,建立可预测的停顿时间模型。

CMS垃圾回收器

CMS代表Mostly Concurrent Mark and Sweep,即并发标记清除垃圾收集器。是一种老年代的收集器,可以配合新生代的Serial和ParNew收集器一起使用。

使用标记-清除算法,容易产生内存碎片。

以最小的停顿时间为目标进行垃圾回收,但无法处理浮动垃圾,并发收集会造成内存碎片过多。

G1与CMS的区别

使用范围:G1收集范围包括老年代和新生代,而CMS只是老年代的收集器。

垃圾碎片:G1使用标记-整理算法,没有内存碎片;CMS使用标记-清除算法,容易产生内存碎片。

垃圾回收过程:G1有初始标记、并发标记、最终标记、筛选回收四个阶段;CMS有初始标记、并发标记、重新标记、并发清理四个阶段。

浮动垃圾:G1没有浮动垃圾,CMS在并发清除阶段会产生浮动垃圾。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值