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() առաջին կանչի ժամանակ, ինչը ապահովում է հոսքերի անվտանգություն և դանդաղ բեռնում առանց սինխրոնիզացիայի։