为了账号安全,请及时绑定邮箱和手机立即绑定

我应该对不需要序列化、代理或装饰的 bean 使用 CDI

我应该对不需要序列化、代理或装饰的 bean 使用 CDI

慕少森 2022-06-04 09:55:50
我了解ApplicationScopedCDI的javax.inject.Singleton工作原理,也了解这两个范围之间的区别。我的应用程序有很多不需要序列化、代理或装饰的 bean,所以我正在考虑将它们从ApplicationScoped(有效)切换javax.inject.Singleton到通过避免代理来提高性能。我的问题是:我真的应该做出这样的改变吗?
查看完整描述

1 回答

?
蛊毒传说

TA贡献1895条经验 获得超3个赞

当然,您可以对范围注释进行重构,但您需要处理调用那些单例托管 bean 的 bean 的序列化。请参阅http://docs.jboss.org/weld/reference/latest-2.2/en-US/html_single/#_the_singleton_pseudo_scope

我将首先调查我将从这一举措中获得多少性能提升,以及是否真的值得花时间进行投资。通常性能瓶颈来自数据库查询/索引性能、I/O、网络、线程锁、Java 代理开销之前的低效算法(等等),所以我会坚持使用标准的@ApplicationScoped。

见: http: //ordinaryjava.blogspot.com/2008/08/benchmarking-cost-of-dynamic-proxies.html https://spring.io/blog/2007/07/19/debunking-myths-proxies-impact -表现/


查看完整回答
反对 回复 2022-06-04
  • 1 回答
  • 0 关注
  • 55 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号