Junior — Middle
Singleton naqshining sekin boshlanishini qanday amalga oshirish mumkin?
sobes.tech AI
AIdan javob
Java'da kechikib boshlanishi Singleton, sinfning nusxasini faqat birinchi murojaatdan keyin yaratishga imkon beradi, bu resurslarni tejashga yordam beradi. Eng keng tarqalgan usullardan biri, ichki statik sinfni ishlatish:
public class Singleton {
private Singleton() {
// maxfiy konstruktor
}
private static class Holder {
private static final Singleton INSTANCE = new Singleton();
}
public static Singleton getInstance() {
return Holder.INSTANCE;
}
}
Bu yerda, Holder sinfi faqat getInstance() birinchi chaqirilganda yuklanadi va boshlanadi, bu esa oqimlararo xavfsizlik va sinxronizatsiya qilmasdan kechikib boshlashni ta'minlaydi.