Sobes.tech
Junior — Middle

Mi a Lazy Singleton minta célja és hogyan valósítják meg?

sobes.tech MI

Válasz az MI-től

A Lazy Singleton minta arra szolgál, hogy egy osztályból csak egy példány készüljön, és ez a példány csak az első hozzáféréskor inicializálódik, nem pedig az osztály betöltésekor. Ez erőforrásokat takarít meg, ha az objektum nem lesz szükséges.

Példa a Lazy Singleton Java-ban késleltetett inicializálással és szinkronizációval:

public class LazySingleton {
    private static LazySingleton instance;

    private LazySingleton() {
        // privát konstruktor
    }

    public static synchronized LazySingleton getInstance() {
        if (instance == null) {
            instance = new LazySingleton();
        }
        return instance;
    }
}

Itt az objektum csak az első getInstance() hívásakor jön létre. A szinkronizáció biztosítja a szálbiztonságot, de befolyásolhatja a teljesítményt. A fejlesztéshez használható a double-checked locking vagy egy statikus belső osztály.