Back to questions
ВТБ
Junior — Middle
65
Что подразумевается под отложенной инициализацией объектов в программировании и как это реализуется?
Companies where asked
Answer from AI
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;
}
}
- Использовать внутренний статический класс для ленивой инициализации с потокобезопасностью.
Отложенная инициализация полезна, когда создание объекта дорогостоящее и не всегда требуется.