Junior — Middle
Was ist der Zweck des Lazy Singleton Patterns und wie wird es implementiert?
sobes.tech KI
Antwort von AI
Паттерн Lazy Singleton предназначен для создания единственного экземпляра класса, при этом инициализация этого экземпляра происходит только при первом обращении к нему, а не при загрузке класса. Это позволяет экономить ресурсы, если объект может не понадобиться.
Пример реализации Lazy Singleton в Java с использованием отложенной инициализации и синхронизации:
public class LazySingleton {
private static LazySingleton instance;
private LazySingleton() {
// приватный конструктор
}
public static synchronized LazySingleton getInstance() {
if (instance == null) {
instance = new LazySingleton();
}
return instance;
}
}
Здесь объект создается только при первом вызове getInstance(). Синхронизация обеспечивает потокобезопасность, но может влиять на производительность. Для улучшения можно использовать двойную проверку блокировки (double-checked locking) или статический внутренний класс.