Я разработал синглтон разными способами в зависимости от состояния, такого как volatile/lazy singleton, eager singleton, normal singleton и Enum, но, в частности, я хочу знать о статичном шаблоне синтаксиса, показанном ниже.
public static class Singleton {
private static class InstanceHolder {
public static Singleton instance = new Singleton();
}
private Singleton(){}
public static Singleton getInstance() {
return InstanceHolder.instance;
}
}
Просьба сообщить, в каких условиях это выгодно и каковы его преимущества.