JVM垃圾收集算法

文章介绍了几种垃圾回收算法,包括标记清除、复制、标记整理以及分代收集,强调了它们的优缺点。对于垃圾收集器,文章提到了Young区和Old区的不同策略,如Serial、ParNew、ParallelScavenge、CMS、G1和ZGC等,这些收集器分别适用于不同的场景,如串行、并行和并发收集,并关注于吞吐量或停顿时间。
摘要由CSDN通过智能技术生成

标记清除算法

1.打标 找到需要回收的对象,并且把他们标记处理

2.清除 清除掉需要回收的对象,释放出对应的空间

缺点:产生大量不连续的空间碎片,可能后续的对象存放引起二次垃圾回收

比较耗费时间

标记复制算法

将内存划分为两块相等的区域,每次只使用其中的一块,当其中一块内存使用完了,就将还存活的对象复制到另外一块内存上面,然后把已经使用过的内存空间一次清楚掉

标记整理算法

1.打标 找到需要回收的对象,并且把他们标记处理

2.整理 把还在存活都像一端移动,然后把边界以外的内存全部清理掉

分代收集算法

Young区:复制算法,对象在被分配之后,可能生命周期比较短,所以复制效率比较高

Old区:标记清除或者标记整理算法,old区存活时间比较长

垃圾收集器

Young区:Serial ParNew Parallel Scanvenge G1 复制算法

Old区: CMS SerialOld Parallel Old G1 标记清除/标记整理

垃圾收集器分类:

串行收集器:Serial SerialOld 只有一个垃圾回收线程执行,用户线程暂停

并行收集器:Parallel Scanvenge Parallel Old 这个是吞吐量优先,多条垃圾收集器并行工作,单此时用户线程仍处于等待状态

并发收集器:CMS G1 ZGC停顿时间优先 用户线程和垃圾收集器线程同时执行,但并不是一定是并行的,可能是交替执行的,垃圾收集器在执行的时候不会停顿用户线程的执行

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值