Sobes.tech
Junior — Middle

Hogyan valósítható meg a Singleton minta Java nyelven?

sobes.tech MI

Válasz az MI-től

A Singleton minta garantálja, hogy egy osztálynak csak egy példánya legyen, és globális hozzáférési pontot biztosít hozzá.

Java-ban ezt többféleképpen lehet megvalósítani. Egy egyszerű és szálbiztos lehetőség a késleltetett inicializálás synchronized kulcsszóval vagy egy statikus belső osztály használata.

Példa statikus belső osztállyal:

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;
    }
}

Ez a megközelítés garantálja, hogy az példány csak az első getInstance() híváskor jön létre, és szálbiztos synchronized nélkül.