public class Singleton {
public void processRequest(final List<a> aList) {
List<b> bList = new AbstractList<b>() {
b get(int i) {
return (b)aList.get(i);
}
int size() {
return aList.size();
}
......
}
}
这里创建了一个匿名实例,并隐式引用了封闭实例。由于封闭实例是一个始终存在于 JVM 中的单例,这是否会阻止匿名实例被 GC 声明并导致内存泄漏?
任何帮助表示赞赏!
最佳答案
不,这里没有内存泄漏。可以收集引用非垃圾对象的对象;只有被非垃圾对象引用的对象才能成为垃圾。
关于java - 对单例封闭实例有隐式引用的匿名类实例会导致内存泄漏吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8981458/