开发者社区> 问答> 正文

哪些情况下的对象会被垃圾回收机制处理掉?

哪些情况下的对象会被垃圾回收机制处理掉?

展开
收起
游客bnlxddh3fwntw 2020-04-10 13:28:02 1429 0
1 条回答
写回答
取消 提交回答
  • 1.所有实例都没有活动线程访问。

    2.没有被其他任何实例访问的循环引用实例。

    3.Java 中有不同的引用类型。判断实例是否符合垃圾收集的条件都依赖于它的引用类型。

    要判断怎样的对象是没用的对象。这里有2种方法:

    1.采用标记计数的方法:

    给内存中的对象给打上标记,对象被引用一次,计数就加1,引用被释放了,计数就减一,当这个计数为0的时候,这个对象就可以被回收了。当然,这也就引发了一个问题:循环引用的对象是无法被识别出来并且被回收的。所以就有了第二种方法:

    2.采用根搜索算法:

    从一个根出发,搜索所有的可达对象,这样剩下的那些对象就是需要被回收的

    2020-04-10 14:16:47
    赞同 展开评论 打赏
问答分类:
问答标签:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
对象的生命期管理 立即下载
低代码开发师(初级)实战教程 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载