Sobes.tech
Junior — Middle

Ինչպես իրականացնել Singleton դիզայնի նահանջային սկզբունքի դանդաղեցված ինիցիալիզացիան?

sobes.tech AI

Պատասխան AI-ից

Java-յի բեռնաթափվող Singleton-ը թույլ է տալիս ստեղծել դասի օրինակ միայն առաջին դիմումի ժամանակ, ինչը խնայում է ռեսուրսները: Ամենատարածված մեթոդներից մեկը ներքին ստատիկ դասի օգտագործումն է.

public class Singleton {
    private Singleton() {
        // մասնավոր կոնստրուկտոր
    }

    private static class Holder {
        private static final Singleton INSTANCE = new Singleton();
    }

    public static Singleton getInstance() {
        return Holder.INSTANCE;
    }
}

Այստեղ, Holder դասը բեռնվում և inicialիզացվում է միայն getInstance() առաջին կանչի ժամանակ, ինչը ապահովում է հոսքերի անվտանգություն և դանդաղ բեռնում առանց սինխրոնիզացիայի։