Sobes.tech
Junior — Middle

Ako implementovať vzor Singleton v Jave?

sobes.tech AI

Odpoveď od AI

Vzor Singleton zabezpečuje, že trieda má iba jednu inštanciu a poskytuje jej globálny prístup.

V jazyku Java to možno implementovať rôznymi spôsobmi. Jednou z jednoduchých a vlákno-bezpečných možností je použiť lenivú inicializáciu s kľúčovým slovom synchronized alebo použiť statickú vnútornú triedu.

Príklad s použitím statickej vnútornej triedy:

public class Singleton {
    private Singleton() {
        // súkromný konštruktor
    }

    private static class Holder {
        private static final Singleton INSTANCE = new Singleton();
    }

    public static Singleton getInstance() {
        return Holder.INSTANCE;
    }
}

Tento prístup zabezpečuje, že inštancia je vytvorená iba pri prvom volaní getInstance(), a je vlákno-bezpečný bez použitia synchronized.