Junior — Middle
Qu'est-ce que l'initialisation différée des objets en programmation et comment cela se réalise-t-il?
sobes.tech IA
Réponse de l'IA
Отложенная инициализация (lazy initialization) — это техника, при которой объект или его часть создаётся не при объявлении, а в момент первого обращения к нему. Это позволяет экономить ресурсы, если объект может не понадобиться.
В Java это можно реализовать несколькими способами:
- Использовать ключевое слово
lazyнет, но можно реализовать через проверку null и инициализацию при первом вызове.
Пример:
public class MyClass {
private ExpensiveObject obj;
public ExpensiveObject getObj() {
if (obj == null) {
obj = new ExpensiveObject();
}
return obj;
}
}
- Использовать внутренний статический класс для ленивой инициализации с потокобезопасностью.
Отложенная инициализация полезна, когда создание объекта дорогостоящее и не всегда требуется.