Преимущества ленивой инициализации данных:
- инициализация выполняется только в тех случаях, когда она действительно необходима; 1
- ускоряется начальная инициализация. 1
Недостатки ленивой инициализации данных:
- невозможно явным образом задать порядок инициализации объектов; 1
- возникает задержка при первом обращении к объекту, что может оказаться критичным при параллельном выполнении другой ресурсоёмкой операции. 1 Вследствие этого требуется тщательно просчитывать целесообразность использования «ленивой» инициализации в многопоточных программных системах, особенно — ОС. 1
- классы не загружаются, а бины не создаются до того момента, пока они не потребуются, что может маскировать проблемы, которые раньше могли бы быть выявлены уже на этапе запуска приложения. 3 Например, это может быть отсутствие нужного класса, переполнение памяти или ошибка, связанная с неправильной конфигурацией. 3
- в веб-приложениях ленивая конфигурация может увеличить латентность HTTP запросов, которые вызывают инициализацию бинов. 3