Junior — Middle
Welke benaderingen kunnen worden gebruikt om uitzonderingen te voorkomen bij het gebruik van lazy objects?
sobes.tech AI
Antwoord van AI
Om uitzonderingen te voorkomen bij het werken met lazy objects in Java, kunnen de volgende benaderingen worden gebruikt:
- Gebruik de klasse
Optionalvoor veilige omgang met mogelijk afwezige waarden. - Pas thread-safe lazy initialisatie toe, bijvoorbeeld via
synchronizedblokken ofjava.util.concurrent.atomic.AtomicReference. - Gebruik het ingebouwde lazy initialisatie mechanisme via
Lazy<T>(in Java 8+ metSupplier<T>met memoisatie). - Controleer of het object
nullis voordat je het gebruikt.
Voorbeeld van veilige lazy initialisatie met synchronized:
public class LazyExample {
private volatile ExpensiveObject instance;
public ExpensiveObject getInstance() {
if (instance == null) {
synchronized(this) {
if (instance == null) {
instance = new ExpensiveObject();
}
}
}
return instance;
}
}
Deze aanpak voorkomt dat het object meerdere keren wordt gemaakt en voorkomt NullPointerException bij toegang.