弱引用中的强引用

时间:2011-03-15 19:28:21

标签: java memory weak-references

在Java中,是否可以从弱可达对象访问的强引用被视为强引用?

示例:

  • 我可以通过弱引用访问X.
  • 我可以通过弱引用来访问Y.
  • 我可以通过Y的指针访问X.
  • 我可以通过X的指针访问Y.

如果X和Y上没有其他指针,我会期望它们被垃圾收集。我错了吗?

2 个答案:

答案 0 :(得分:6)

即使使用术语强引用,也许最好根据达成能力进行思考。

也就是说,如果对象是强烈可达来自根对象,则它不具备回收的资格 - 否则就是。仅通过弱引用引用的对象的强引用不是强可访问。但是,强引用仍然是强引用。

快乐的编码。

答案 1 :(得分:4)

两个对象都可能被垃圾收集;来自弱引用对象的强引用被视为弱引用。