Junior — Middle
Ako implementovať lenivú inicializáciu vzoru Singleton?
sobes.tech AI
Odpoveď od AI
Lenivá inicializácia Singleton v Jave umožňuje vytvoriť inštanciu triedy iba pri prvom prístupe, čím sa šetria zdroje. Jedným z najbežnejších spôsobov je použitie vnútornej statickej 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;
}
}
Tu sa trieda Holder načíta a inicializuje iba pri prvom volaní metódy getInstance(), čo zabezpečuje bezpečnosť vlákien a lenivú inicializáciu bez synchronizácie.