加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

垃圾回收(1)

发布时间:2020-12-14 01:16:07 所属栏目:Linux 来源:网络整理
导读:3个问题: 1.如何判断对象为垃圾对象 a.引用计数法 在对象中添加一个引用计数器,当有地方引用这个对象的时候,引用计数器的值就+1, 当引用失败(例如,对象置为null),引用计数器的值就-1 b.可达性算法 (推荐) 从GCroot根节点往下搜索,能走到就不是垃

3个问题:

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

  a.引用计数法

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

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

  b.可达性算法(推荐)

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

2.如何回收

  a.回收策略

    标记-清除算法

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

        但是,有两个问题

        1.效率问题

        2.空间问题

    复制算法?

        主要解决了效率问题

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

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

        Tenured? Gen

    标记-整理算法

    分代手机算法

  b.垃圾回收器

    serial

    parnew

    cms

    G1

3.何时回收

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读