Junior — Middle
Hoe implementeer je lazy initialisatie van het Singleton-patroon?
sobes.tech AI
Antwoord van AI
Lazy initialisatie van Singleton in Java maakt het mogelijk om een instantie van de klasse alleen bij de eerste aanroep te creëren, wat resources bespaart. Een van de meest gebruikte methoden is het gebruik van een interne statische klasse:
public class Singleton {
private Singleton() {
// privé constructor
}
private static class Holder {
private static final Singleton INSTANCE = new Singleton();
}
public static Singleton getInstance() {
return Holder.INSTANCE;
}
}
Hier wordt de klasse Holder alleen geladen en geïnitialiseerd bij de eerste aanroep van getInstance(), wat threadveiligheid en lazy initialisatie zonder synchronisatie garandeert.