美文网首页
【3】内存回收

【3】内存回收

作者: zhuangchuhan | 来源:发表于2017-08-11 16:13 被阅读0次

    什么样的对象要回收?

    当然是死掉的对象,那么,怎么判断是死掉的对象?有几种方法:

    1.引用计数法

    对象有一个引用计数器,保存指向它的引用。当计数器为0的时候,就没有引用指向它,那么就可以被回收。

    弊端:AB互相持有对方的引用,那么AB永远不会被回收,造成内存空间的浪费。

    2.可达性分析

    GC Roots对象,从这些对象出发,向下搜索,走过的路径成为引用链,当一个对象到GC Roots没有任何引用链链接的时候,那么,这个对象就可以被回收。

    GC Roots对象包括:

    虚拟机栈中的对象

    本地方法栈中的对象

    方法区中常量引用的对象

    方法区中静态变量引用的对象

    垃圾回收算法

    相关文章

      网友评论

          本文标题:【3】内存回收

          本文链接:https://www.haomeiwen.com/subject/groqcxtx.html