(精)JVM 垃圾回收算法&垃圾收集器

32 篇文章 10 订阅 ¥39.90 ¥99.00
90 篇文章 5 订阅
22 篇文章 0 订阅
本文详细介绍了JVM的垃圾回收算法,包括标记-清除、复制、标记-整理和分代回收算法,以及它们各自的优缺点。在垃圾收集器方面,讨论了串行、并行和并发收集器,如Serial、Parallel Scavenge、CMS和G1,重点关注了并发标记清除(CMS)和G1的运作机制及其特点。CMS关注低停顿时间,而G1则提供了可预测的停顿时间模型。文章还探讨了如何根据应用场景选择合适的垃圾收集器策略。
摘要由CSDN通过智能技术生成

类加载过程总结

类加载过程总结

 

对象是否可回收判断方式

引用计数法

对象每被引用一次,其引用计数就+1,不再引用时就-1,这样虽然简单高效,但是无法解决互相引用的问题,比如A持有B,B持有A A a=new A(); B b =new B(); a.instance=b; b.instance=a; a=null;b=null; 这样引用计数都不为0,也就无法回收

 

可达性分析

确定一批GC Roots引用,然后以这些引用为出发点一级级的查找可以引用到的对象,但凡不能被引用到的对象,就属于废对象,搜索经过的路径称为引用链
 

通过根搜索算法找到的对象一定是后续有用/不可回收的对象吗?
答: 不一定。其实根本无法知晓某个对象是不是后面有用, 最多只能知道现在是不是相互依赖, 这里的区别在于, 虽然对象之间是依赖的, 但是很可能在逻辑上后续的所有流程都不会再调用这个依赖关系. 这点区别会导致另一种形式的"

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Jaemon

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值