首页 > 其他 > 详细

垃圾回收(1)

时间:2019-05-11 11:18:46      阅读:93      评论:0      收藏:0      [点我收藏+]

3个问题:

1.如何判断对象为垃圾对象

  a.引用计数法

    在对象中添加一个引用计数器,当有地方引用这个对象的时候,引用计数器的值就+1,

    当引用失败(例如,对象置为null),引用计数器的值就-1

  b.可达性算法(推荐)

    从GCroot根节点往下搜索,能走到就不是垃圾对象,走不到就是对象

2.如何回收

  a.回收策略

    标记-清除算法

        把判定为垃圾对象做一个标记,进行清除

        但是,有两个问题

        1.效率问题

        2.空间问题

    复制算法 

        主要解决了效率问题

        在Eden创建对象(80%)——垃圾的回收最喜欢的地方

        Survivor(存活期)(20%)——垃圾回收后对象存活的地方

        Tenured  Gen

    标记-整理算法

    分代手机算法

  b.垃圾回收器

    serial

    parnew

    cms

    G1

3.何时回收

垃圾回收(1)

原文:https://www.cnblogs.com/mm163/p/10847776.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!