弱引用内的强引用

3
在Java中,从弱可达对象可以访问的强引用被视为强引用吗?
例如:
- 我可以通过弱引用访问X。 - 我可以通过弱引用访问Y。 - 我可以通过Y的指针访问X。 - 我可以通过X的指针访问Y。
如果没有其他指向X和Y的指针,我希望它们会被垃圾回收。我错了吗?
2个回答

6
尽管术语“强引用”被使用,但也许更好的思考方式是“可达性”。也就是说,如果对象从根对象“强达到”,则不符合回收的资格---否则,它就符合。对一个仅通过“弱引用”引用的对象有一个“强引用”,它并非“强达到”。然而,这个强引用仍然是一种强引用。祝你编码愉快。

4

这两个对象都可能被垃圾回收;从弱引用对象到强引用的引用计算为弱引用。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接