Junior — Middle
Singleton nümunəsinin tənbəl başlanğıcını necə həyata keçirmək olar?
sobes.tech Süni İntellekt
AI-dan cavab
Java-da Lazy Initialization Singleton, sinifin nümunəsini yalnız ilk müraciət zamanı yaratmağa imkan verir və bu, resurslardan qənaət edir. Ən yaygın üsullardan biri daxili statik sinifdən istifadə etməkdir:
public class Singleton {
private Singleton() {
// xüsusi konstruktor
}
private static class Holder {
private static final Singleton INSTANCE = new Singleton();
}
public static Singleton getInstance() {
return Holder.INSTANCE;
}
}
Burada, Holder sinfi yalnız getInstance() ilk çağırıldıqda yüklənir və başlatılır, bu da çox iş parçacığı mühitində təhlükəsizlik və sinxronizasiyasız lazy başlatma təmin edir.