Junior — Middle
Lazy Singleton naqshining maqsadi nima va u qanday amalga oshiriladi?
sobes.tech AI
AIdan javob
Lazy Singleton naqshasi, sinfning yagona nusxasini yaratish uchun mo'ljallangan bo'lib, bu nusxa faqat birinchi marta unga murojaat qilganda, ya'ni sinf yuklanishidan emas, faqat unga birinchi murojaat qilganda yaratiladi. Bu, ob'ekt kerak bo'lmasligi mumkin bo'lsa, resurslarni tejash imkonini beradi.
Java tilida kechiktirilgan boshlang'ich va sinxronizatsiya yordamida Lazy Singleton misoli:
public class LazySingleton {
private static LazySingleton instance;
private LazySingleton() {
// shaxsiy konstruktor
}
public static synchronized LazySingleton getInstance() {
if (instance == null) {
instance = new LazySingleton();
}
return instance;
}
}
Bu yerda ob'ekt faqat getInstance() ning birinchi chaqiruvi bilan yaratiladi. Sinxronizatsiya ko'p ipli muhitda xavfsizlikni ta'minlaydi, lekin ishlashga ta'sir qilishi mumkin. Buni yaxshilash uchun double-checked locking yoki statik ichki sinfdan foydalanish mumkin.