可能重复:
垃圾收集器和循环引用
如果对象具有循环引用但未附加到任何根,因此对 GC 性能有影响吗?
在一个方向上有一个弱参考会有什么好处吗?
如果对象有循环引用,对 GC 性能有影响吗
不会。扫描过程会在遇到已访问的实例时停止。非圆形结构没有差异。
但是没有附加到任何根上,因此对 GC 来说已经成熟了?
在这种情况下,它们根本不会被访问,因此与有多少交叉链接完全无关。
如果对象具有循环引用但未附加到任何根,因此对 GC 性能有影响吗?
没有。基本上,当没有强引用时,这两个对象都有资格进行垃圾收集……您不必担心。
如果无法从根到达对象,则不会遍历它们,因此循环引用不会成为问题。