如何在Java中创建弱引用?
让我用以下方式解释: 您有一个对象a,其中包含对对象b的引用。 您知道,如果只有a持有对b的引用,则不再需要b,并且应由GC收集
现在想象一下,a总是可以访问的
gc意识到可以通过访问b
因此,GC永远不会收集b强>
如果只有a引用GC collect b,我如何使其成为b强>
是否有任何方法可以创建一个被GC忽略的引用(弱引用),这样当满足上述条件时,GC收集b,并将空指针保留到a强>
你可以在下面搜索框中键入要查询的问题!
让我用以下方式解释: 您有一个对象a,其中包含对对象b的引用。 您知道,如果只有a持有对b的引用,则不再需要b,并且应由GC收集
现在想象一下,a总是可以访问的
gc意识到可以通过访问b
因此,GC永远不会收集b强>
如果只有a引用GC collect b,我如何使其成为b强>
是否有任何方法可以创建一个被GC忽略的引用(弱引用),这样当满足上述条件时,GC收集b,并将空指针保留到a强>
# 1 楼答案
你在问题中使用了“弱引用”这个标签,这就是答案。Java有一个
WeakReference
类来实现这一点,它包含对仍然可以被垃圾收集的对象的引用。如果WeakReference
对象被收集,则WeakReference
返回null