Встречается на собеседованиях • сегодня

Что такое ленивая инициализация

Ленивая инициализация — это подход, при котором объект или ресурс создаётся только при первом обращении к нему, а не заранее. Это помогает оптимизировать производительность и использование памяти.

Пример в Java с Lazy Initialization:

java
public class LazySingleton {
    private static LazySingleton instance;
    
    private LazySingleton() {}
    
    public static LazySingleton getInstance() {
        if (instance == null) {
            instance = new LazySingleton();
        }
        return instance;
    }
}

Плюсы:

  • Экономия памяти (объект создаётся только когда нужен)
  • Ускорение старта приложения

Минусы:

  • Не потокобезопасно (в примере выше)
  • Может усложнить отладку

Для потокобезопасности можно использовать:

  • synchronized (но это замедлит работу)
  • Holder-паттерн (через статический внутренний класс)
  • AtomicReference или Double-Checked Locking
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы