Junior — Middle
Ce se înțelege prin inițializarea întârziată a obiectelor în programare și cum se realizează?
sobes.tech AI
Răspuns de la AI
Отложенная инициализация (lazy initialization) — это техника, при которой объект или его часть создаётся не при объявлении, а в момент первого обращения к нему. Это позволяет экономить ресурсы, если объект может не понадобиться.
В Java это можно реализовать несколькими способами:
- Использовать ключевое слово
lazyнет, но можно реализовать через проверку null и инициализацию при первом вызове.
Пример:
public class MyClass {
private ExpensiveObject obj;
public ExpensiveObject getObj() {
if (obj == null) {
obj = new ExpensiveObject();
}
return obj;
}
}
- Использовать внутренний статический класс для ленивой инициализации с потокобезопасностью.
Отложенная инициализация полезна, когда создание объекта дорогостоящее и не всегда требуется.