блок в загрузчике классов, который также поражен загрузчиком классов, который выполнил статическую инициализацию, обеспечивая безопасную публикацию. Но будущая версия JVM может не
равится простота энергичного синглтона в Java, и большинство статей об этом называют его поток создания безопасным.
class Singleton {
public static final Singleton instance = new Singleton ();
private Singleton (){};
public static Singleton getInstance(){
return instance;
}
}
Тем не менее, я слышал некоторые утверждения, что его создание не может быть потокобезопасным в конце концов Например, один источник заявил, что небезопасно, если используется более 1 загрузчик классов или домен приложения.
Гарантируется ли создание Eager Singleton JVM поточно-ориентированным, чтобы, например, 2 потока случайно не создали синглтон одновременно?
Изменить: Требуется ли ключевое слово final для безопасности потока создания объекта? Разве это не нить, если поле не является окончательным?