, размышляя над шаблоном проектирования синглтона, я застрял между нетерпением и синтаксическим инициализацией инициализации одиночного элемента. Скажем нетерпеливый инициализации синглтон класс код -нетерпеливая инициализация singleton vs ленивая инициализация singleton
public class EagerInitSingleton {
private static final EagerInitSingleton instance = new EagerInitSingleton();
//private constructor
private EagerInitSingleton(){}
public static EagerInitSingleton getInstance(){
return instance;
}
}
и статический блок одноплодной код класса, как followed-
public class StaticBlockSingleton {
private static StaticBlockSingleton instance;
private StaticBlockSingleton(){}
//static block initialization for exception handling
static{
try{
instance = new StaticBlockSingleton();
}catch(Exception e){
throw new RuntimeException("Exception occured in singleton instance");
}
}
public static StaticBlockSingleton getInstance(){
return instance;
}
}
LETS НЕ ГОВОРИТЬ О LAZY ИНИЦИАЛИЗАЦИИ И ниточный ЗДЕСЬ. Я хочу выяснить, как два статических блока в Static block singleton имеют здесь значение.
почему вы кричите на нас? – Pragnani
Я здесь, чтобы узнать что-то, поэтому, пожалуйста, проигнорируйте, если вам это не нравится .. :) –