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