Sobes.tech
Junior — Middle

Jak implementovat vzor Singleton v jazyce Java?

sobes.tech AI

Odpověď od AI

Vzor Singleton zaručuje, že třída má pouze jednu instanci a poskytuje k ní globální přístup.

V jazyce Java lze tento vzor implementovat několika způsoby. Jednou z jednoduchých a vlákny bezpečných možností je použití líné inicializace s klíčovým slovem synchronized nebo použití statické vnitřní třídy.

Příklad s použitím statické vnitřní třídy:

public class Singleton {
    private Singleton() {
        // soukromý konstruktor
    }

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

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

Tento přístup zaručuje, že instance je vytvořena pouze při prvním volání getInstance(), a je vlákny bezpečný bez použití synchronized.