Назад к вопросам
ВТБ
Junior — Middle
64
Что подразумевается под отложенной инициализацией объектов в программировании и как это реализуется?
Компании, где спрашивали
Ответ от нейросети
sobes.tech AI
Отложенная инициализация (lazy initialization) — это техника, при которой объект или его часть создаётся не при объявлении, а в момент первого обращения к нему. Это позволяет экономить ресурсы, если объект может не понадобиться.
В Java это можно реализовать несколькими способами:
- Использовать ключевое слово
lazyнет, но можно реализовать через проверку null и инициализацию при первом вызове.
Пример:
public class MyClass {
private ExpensiveObject obj;
public ExpensiveObject getObj() {
if (obj == null) {
obj = new ExpensiveObject();
}
return obj;
}
}
- Использовать внутренний статический класс для ленивой инициализации с потокобезопасностью.
Отложенная инициализация полезна, когда создание объекта дорогостоящее и не всегда требуется.