【发布时间】:2010-01-13 11:26:39
【问题描述】:
我有一个 A 类:
public class A {
private B b = new B() { public void method() { do something } };
public B getB() { return b; }
}
public interface B { void method(); }
实例b 具有对其外部类实例的隐式引用(可以被this 引用)。现在另一个对象通过 getter 方法获得了对这个 b 的引用。由于引用,此b 无法被垃圾收集。
有没有办法允许对封闭的A 实例进行垃圾回收,可能是通过重置匿名内部类中的显式引用?
【问题讨论】:
标签: java garbage-collection inner-classes