Sobes.tech
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.