Существует производительность штраф за использование КДИ, но почти во всех случаях, когда мы развертывают на GlassFish это ничтожно мало по сравнению со всем остальным, что происходит. Если вы специально не знаете/не подозреваете, что часть CDI в коде, где приложение будет проводить большую часть времени, у меня не было бы лишних мыслей об использовании CDI. Наш мир переполнен преждевременными оптимизациями, когда мы все знаем, что оптимизация выполнена: когда есть проблема, а не при написании кода. И сделано путем профилирования, чтобы найти пятна для оптимизации, а затем оптимизировать пятна. Время кодирования и поддержания времени, сэкономленное с использованием CDI, должно почти всегда перевесить время, затрачиваемое на возврат к другой технологии, если это когда-либо появится.
Хорошо, спасибо. Могу ли я использовать miltithreads с CDI для повышения производительности? – Aldo
Точный ответ в каждом конкретном случае. Но да, у архитектуры CDI нет проблем с многопоточными средами. Но у меня нет ответа, если многопоточность вашего приложения улучшит скорость CDI для вашего приложения. (В большинстве случаев многопоточная часть обрабатывается контейнером, в данном случае это стеклянная рыба. В зависимости от приложения я предлагаю разрешить стеклянному стеклу обрабатывать все многопоточность, если это полное приложение JavaEE, это настоятельно рекомендуется.) – esej
Я думаю, что мой основной точка ... не беспокойтесь о производительности CDI. Для меня, чтобы изменить это представление, вам нужно указать, что уникально с вашим приложением (доменом), что много времени будет потрачено на CDI. – esej