I am using a singleton created by the initialization-on-demand holder idiom. When I´m done, I would like to "return" the singleton so that it can be used by other programs. Can I do this as follows...
Creating the Singleton
public class MyObject{
    private MyObject(){}
    private static class Holder{
       private static final MyObject INSTANCE = new MyObject();
    }
    public static MyObject getInstance(){
       return Holder.INSTANCE;
    }
}
somewhere else I use this by
MyObject myObject = MyObject.getInstance();
// do something
myObject = null;
System.gc();
 
     
    