Junior — Middle
Hogyan valósítható meg a Singleton minta lustán történő inicializálása?
sobes.tech MI
Válasz az MI-től
A Java-ban a késleltetett Singleton inicializálás lehetővé teszi, hogy az osztály példányát csak az első hozzáféréskor hozzuk létre, így erőforrásokat takarít meg. Az egyik leggyakoribb módszer a belső statikus osztály használata:
public class Singleton {
private Singleton() {
// privát konstruktor
}
private static class Holder {
private static final Singleton INSTANCE = new Singleton();
}
public static Singleton getInstance() {
return Holder.INSTANCE;
}
}
Itt a Holder osztály csak az első getInstance() híváskor töltődik be és inicializálódik, így biztosítva a szálbiztonságot és a késleltetett inicializálást szinkronizáció nélkül.