Junior — Middle
Was versteht man unter verzögerter Objektinitialisierung in der Programmierung und wie wird sie umgesetzt?
sobes.tech KI
Antwort von AI
Отложенная инициализация (lazy initialization) — это техника, при которой объект или его часть создаётся не при объявлении, а в момент первого обращения к нему. Это позволяет экономить ресурсы, если объект может не понадобиться.
В Java это можно реализовать несколькими способами:
- Использовать ключевое слово
lazyнет, но можно реализовать через проверку null и инициализацию при первом вызове.
Пример:
public class MyClass {
private ExpensiveObject obj;
public ExpensiveObject getObj() {
if (obj == null) {
obj = new ExpensiveObject();
}
return obj;
}
}
- Использовать внутренний статический класс для ленивой инициализации с потокобезопасностью.
Отложенная инициализация полезна, когда создание объекта дорогостоящее и не всегда требуется.