Sobes.tech
Junior — Middle

Jak implementovat línou inicializaci vzoru Singleton?

sobes.tech AI

Odpověď od AI

Líná inicializace Singleton v jazyce Java umožňuje vytvořit instanci třídy pouze při prvním použití, což šetří zdroje. Jedním z běžných způsobů je použití vnitřní statické 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;
    }
}

Zde je třída Holder načtena a inicializována pouze při prvním volání metody getInstance(), což zajišťuje bezpečnost vláken a línou inicializaci bez synchronizace.