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.