@ Энтони - микро-бенчмаркинг - это не зло. Просто трудно получить значимые результаты, применимые к вашему реальному сценарию использования.

я есть требование для ленивой загрузки ресурсов в параллельной среде. Код для загрузки ресурсов должен быть выполнен только один раз.

ОбеДвойная проверка блокировки (используя JRE 5+ и ключевое слово volatile) иИнициализация по требованию владельца похоже, хорошо подходит для работы.

Просто глядя на код, идиома держателя инициализации по требованию кажется чище и эффективнее (но, я думаю, здесь). Тем не менее, мне придется заботиться и документировать шаблон на каждом из моих синглетонов. По крайней мере, мне было бы трудно понять, почему код был написан на месте так ...

Мой вопрос здесь: какой подход лучше? И почему? Если ваш ответ - нет. Как бы вы справились с этим требованием в среде Java SE?

альтернативы

Могу ли я использовать CDI для этого, не навязывая его для всего моего проекта? Есть какие-нибудь статьи?

Ответы на вопрос(3)

Ваш ответ на вопрос