读书人

这么写会不会导致对象无法被回收

发布时间: 2013-01-20 10:22:41 作者: rapoo

这样写会不会导致对象无法被回收
这样写会不会导致Test2的实例无法被回收?


package test0;

public interface ITest2 {
void showMessage();
}




package test0;

public class Test2 implements ITest2 {
private static final ITest2 instance = new Test2Impl1();

@Override
public void showMessage() {
instance.showMessage();
}

}




package test0;

class Test2Impl1 implements ITest2{

@Override
public void showMessage() {
System.out.println("hello world.");
}

}


[解决办法]
没有强引用就可能被回收
[解决办法]
不会吧,应该是可以回收的。 主要还是看你的容器,怎么个回收机制。
[解决办法]
让Test2重写了finalize()方法,里面输出点东西,发现可以回收的。(当然需要产生很多对象)。

读书人网 >J2SE开发

热点推荐