Встречается на собеседованиях • сегодня
Как работает Lazy инициализация
Lazy инициализация — это отложенная инициализация объекта до момента первого обращения к нему. В Java реализуется через `Supplier` или `DoubleChecked Locking` для потокобезопасности.
**Пример с `Supplier` (Java 8+):**
```java
private Supplier lazyObject = () -> createHeavyObject();
public HeavyObject getLazyObject() {
return lazyObject.get();
}
```
**Потокобезопасный вариант (Double-Checked Locking):**
```java
private volatile HeavyObject instance;
public HeavyObject getInstance() {
if (instance == null) {
synchronized (this) {
if (instance == null) {
instance = new HeavyObject();
}
}
}
return instance;
}
```
**Особенности:**
- Уменьшает нагрузку при старте приложения
- Требует осторожности в многопоточной среде
- Может маскировать ошибки инициализации (проявляются только при первом обращении)

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы