JVM垃圾回收的 4种方式 Serial(串行)、parallel(并行)、CMS(并发)、G1 、java 11 12还有 ZGC

在这里插入图片描述
在这里插入图片描述

1、Serial收集器(Serial + Serial Old)的主要特点是单线程回收资源。当需要执行垃圾回收时,程序会暂停一切工作(又称为Stop The World,STW),使用复制算法完成垃圾清理工作。
ParNew收集器是Serial收集器的多线程版本,除了使用多线程进行垃圾收集工作,其他的控制参数,收集算法,对象分配规则等均与Serial收集器一致。ParNew收集器在单核/双核环境下,效率未必有Serial收集器工作效率高(多线程切换开销等因素限制),当然随着核数的增加,其性能也会得到较大的提升。
Serial单线垃圾回收器: 程会暂停所有用户线程,不适合用在服务器!
在这里插入图片描述
在这里插入图片描述

2、Parallel收集器(Parallel Scavenge + Parallel Old)相比于Serial收集器的主要特点是,其是通过多线程完成垃圾的清理工作。其中Parallel Scavenge使用复制算法完成垃圾收集(Parallel Old使用标记整理算法),如果从这一点看其与ParNew相似,但实际上两者的出发点存在区别,区别如下所示:

ParNew出发点在于加速资源回收的速度,以减少应用的STW时间
Parallel Scavenge出发点在于资源回收的吞吐量,吞吐量 = 用户线程时间/(用户线程时间 + GC线程时间)
Parallel 并行垃圾回收器 用户线程也是暂停的,不过暂停时间比较短,适用于科学计算,与弱交互场景
在这里插入图片描述
在这里插入图片描述

3、CMS(Concurrent Mark Sweep)收集器是jdk 1.5推出的第一款真正意义上的并发收集器(针对老年代),实现了让垃圾收集器与用户线程(近似)同时工作。
CMS”并发垃圾回收,用户线程与垃圾回收线程是并行的不需要完全暂停用户线程,适合用户交互较多的互联网公司对响应有要求的场景使用
在这里插入图片描述
4、G1 垃圾回收器
G1 会对堆内存分割成不同的区域,然后并发的对其进行回收!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值