垃圾回收相关算法
本文是记录在尚硅谷学习java的一些笔记,因为刚开始写博客,可能大部分都是PPT的搬用,希望多多包涵,后续会继续更新,欢迎大家交流学习,如有不妥之处,欢迎多多评论
标记阶段:引用计数算法
对象存活判断
引用计数算法
循环引用
小结
- 引用计数算法,是很多语言的资源回收选择,如Python,它更是支持引用计数和垃圾收集机制
- 具体那种最优要看场景的,业界有大规模实践中仅保留引用计数机制,以提高吞吐量的尝试。
- Java并没有选择引用计数,是因为其存在一个基本的难题,也就是很难处理循环引用关系
- Python如何解决循环引用的问题?(1、手动解除:很好理解,就是在合适的时机,解除引用关系;2、使用弱引用weakref,它是Python的标准库,旨在解决循环引用问题)
标记阶段:可达性分析算法(或根搜索算法、追踪性垃圾收集)
GC Roots
对象的finalization机制
MAT与JProfiler的GC Roots溯源
清除阶段:标记-清除算法
清除阶段: 复制算法
清除阶段:标记-压缩算法
小结
分代收集算法
增量收集算法、分区算法
分区算法