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.