Back to questions
СБЕР дейвайсы
Junior — Middle
93
Каким образом можно применить отложенную инициализацию объектов в вашем коде?
Companies where asked
Answer from AI
sobes.tech AI
Отложенная инициализация (lazy initialization) в Java применяется для создания объекта только в момент его первого использования, а не при загрузке класса или создании родительского объекта. Это позволяет экономить ресурсы и ускорять старт программы.
Пример реализации с использованием ленивой инициализации и паттерна Singleton:
public class LazySingleton {
private static LazySingleton instance;
private LazySingleton() {
// приватный конструктор
}
public static LazySingleton getInstance() {
if (instance == null) {
instance = new LazySingleton();
}
return instance;
}
}
Также в Java 8+ можно использовать класс java.util.function.Supplier или Optional для ленивой инициализации, либо использовать Lazy<T> из сторонних библиотек.
В многопоточной среде стоит применять синхронизацию или использовать volatile для корректной ленивой инициализации.