java – 如果只从垃圾引用对象垃圾?

前端之家收集整理的这篇文章主要介绍了java – 如果只从垃圾引用对象垃圾?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
假设有一个类A的对象a,它保存了对类B的另一个对象b的引用.这是b的唯一参考.所以现在,如果所有对a的引用被删除,那么a就可以使用GC了.这是否意味着b也准备好收集垃圾?因为,虽然b有一个引用(在一个内),它是不可达到的,因为a是不可达到的.

那么这种情况究竟如何工作呢?我的意思是垃圾收集的顺序.

解决方法

一旦一个对象从根目录无法访问,就会被收集.有关GC根的说明,请参见 this question.

将会收集整个子图(如您所述),假定在该子图中没有可以达到节点.

Java(和.NET)使用处理这种问题的标记和扫描垃圾回收.

在循环依赖性保持不可达的情况下,基于参考计数的系统(例如C的std :: shared_ptr

转载注明原文:java – 如果只从垃圾引用对象垃圾? - 代码日志

原文链接:https://www.f2er.com/java/121420.html

猜你在找的Java相关文章