The instance of class Singleton will be instantiated when the method getInstance() was called. I wonder why i can instantiate outer class from the static inner class?
public class Singleton{
private Singleton(){}
private static class SingletonHolder{
private static Singleton INSTANCE = new Singleton();
}
public static Singleton getInstance(){
return SingletonHolder.INSTANCE;
}
}