有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

如何在Java中创建弱引用?

让我用以下方式解释: 您有一个对象a,其中包含对对象b的引用。 您知道,如果只有a持有对b的引用,则不再需要b,并且应由GC收集

现在想象一下,a总是可以访问的

gc意识到可以通过访问b

因此,GC永远不会收集b

如果只有a引用GC collect b,我如何使其成为b

是否有任何方法可以创建一个被GC忽略的引用(弱引用),这样当满足上述条件时,GC收集b,并将空指针保留到a


共 (1) 个答案

  1. # 1 楼答案

    你在问题中使用了“弱引用”这个标签,这就是答案。Java有一个WeakReference类来实现这一点,它包含对仍然可以被垃圾收集的对象的引用。如果WeakReference对象被收集,则WeakReference返回null