我正在使用由按需初始化持有人成語創建的單例。 當我完成後,我想「返回」單身人士,以便它可以被其他程序使用。我能做到這一點如下...在java中釋放單例的實例
創建辛格爾頓
public class MyObject{
private MyObject(){}
private static class Holder{
private static final MyObject INSTANCE = new MyObject();
}
public static MyObject getInstance(){
return Holder.INSTANCE;
}
}
別的地方我用這個由
MyObject myObject = MyObject.getInstance();
// do something
myObject = null;
System.gc();
我不明白你爲什麼要破壞你的單身實例嗎? – Lrrr 2014-09-20 10:20:44
我可以建議使用[an enum](http://stackoverflow.com/questions/70689/)嗎? – fredoverflow 2014-09-20 10:24:48
我有兩個線程正在運行,每個線程都會不時訪問MyObject實例。我很害怕,如果我在一個線程中使用它而不釋放它,我無法從另一個線程訪問它。或者它會讓我的實例遠離正在使用的線程? – tip 2014-09-20 10:25:06