首页 > 代码库 > 深入理解 Java 垃圾回收机制
深入理解 Java 垃圾回收机制
垃圾回收机制中的算法:
1.引用计数法:无法检测出循环引用。如父对象有一个对子对象的引用,子对象反过来引用父对象。这样,他们的引用计数永远不可能为0.
2 标记-清除算法:采用从根集合进行扫描,对存活的对象对象标记,标记完毕后,再扫描整个空间中未被标记的对象,进行回收,会造成内存碎片
3 标记-整理算法:采用标记-清除算法一样的方式进行对象的标记,但在清除时不同,在回收不存活的对象占用的空间后,会将所有的存活对象往左端空闲空间移动,并更新对应的指针,进行了对象的移动,因此成本更高
4 copying算法 :克服句柄的开销和解决堆碎片的垃圾回收,它将堆分成对象面和空闲区域面,在对象面与空闲区域面的切换过程中,程序暂停执行
5 generation(分代)算法:不同生命周期的对象可以采取不同的回收算法,以便提高回收效率
a:年轻代 : 年轻代的目标就是尽可能快速的收集掉那些生命周期短的对象 :采用 复制
b :年老代:在年轻代中经历了N次垃圾回收后仍然存活的对象,就会被放到年老代中 :年老代适合使用标记-清除算法(或者标记-清除-整理)
深入理解 Java 垃圾回收机制
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。