怎么判断对象是否可以被回收?

发布于 2020-01-08 15:35:42
关注者
0
被浏览
1459
1 个回答
  • 面试哥
    面试哥 2020-01-08
    为面试而生,有面试问题,就找面试哥。

    一般有两种方法来判断:

    引用计数器:为每个对象创建一个引用计数,有对象引用时计数器 +1,引用被释放时计数 -1,当计数器为 0 时就可以被回收。它有一个缺点不能解决循环引用的问题;

    可达性分析:从 GC Roots 开始向下搜索,搜索所走过的路径称为引用链。当一个对象到 GC Roots 没有任何引用链相连时,则证明此对象是可以被回收的。

面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看