java – 如果只从垃圾引用对象垃圾?
发布时间:2020-12-14 05:45:18 所属栏目:Java 来源:网络整理
导读:假设有一个类A的对象a,它保存了对类B的另一个对象b的引用.这是b的唯一参考.所以现在,如果所有对a的引用被删除,那么a就可以使用GC了.这是否意味着b也准备好收集垃圾?因为,虽然b有一个引用(在一个内),它是不可达到的,因为a是不可达到的. 那么这种情况究竟如何
假设有一个类A的对象a,它保存了对类B的另一个对象b的引用.这是b的唯一参考.所以现在,如果所有对a的引用被删除,那么a就可以使用GC了.这是否意味着b也准备好收集垃圾?因为,虽然b有一个引用(在一个内),它是不可达到的,因为a是不可达到的.
那么这种情况究竟如何工作呢?我的意思是垃圾收集的顺序. 解决方法
一旦一个对象从根目录无法访问,就会被收集.有关GC根的说明,请参见
this question.
将会收集整个子图(如您所述),假定在该子图中没有可以达到节点. Java(和.NET)使用处理这种问题的标记和扫描垃圾回收. 在循环依赖性保持不可达的情况下,基于参考计数的系统(例如C的std :: shared_ptr
相关文章
点击查看更多相关文章
转载注明原文:java – 如果只从垃圾引用对象垃圾? - 代码日志 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |