强引用时直接访问弱引用

时间:2015-08-10 03:02:12

标签: java garbage-collection weak-references strong-references

在Java中,当目标对象A仅通过弱引用B到达时,A可以是GC。 如果强参考C同时达到弱参考B会发生什么?例如,C指向一个类实例,该实例包含一个指向A的弱引用字段B. 如果C是活的,并且没有其他弱或强引用obj A,A仍然可以是GC吗?

1 个答案:

答案 0 :(得分:0)

是的,因为有一个弱的反对作为一个链接,它被认为是弱可达的。 Weak reference上的维基百科条目(部分)

  

弱引用是一种引用,与强引用不同,它不会保护引用对象不被垃圾收集器收集。仅由弱引用引用的对象 - 意味着“到达对象的每个引用链包括至少一个弱引用作为链接” - 被认为是弱可达的,并且可以被视为无法访问,因此可以随时收集。 / p>