无状态的bean和有状态的bean

最近重新温故一下Javabean, 整理一下bean状态的笔记,有不对的地方希望广大猿友指正啊。

1、在web开发中,bean是否有状态对于bean的生命周期有影响。多大影响还没仔细考虑。

2、有状态的bean,具有数据存储功能。无状态的bean,只有普通的对数据的操作方法,而没有存储功能。

有状态的bean不应该被线程共享,无状态的bean可以被线程共享。

有状态的bean

3、web开发中,

集合啊,用于与数据库交互的存储数据的bean 如user等bean,均是有状态的bean。

而仅仅用于操作其他资源的bean,如userDao,就是无状态的bean。

4、web开发的会话中:

有状态的会话bean:在每个用户的会话生命周期内,该用户都有自己的一个特定的实例,是不会与其他用户共享的,这个bean保存了用户的信息和状态。一旦用户退出或其他情况下会话结束,这个bean的生命周期就结束。

无状态的会话bean:该bean一旦被实例化就会放入会话池,每个用户可以共用该bean。不管使用它的某个用户状态如何,这个bean都可能存在于会话池中供其他用户使用。该bean不能保存任何用户的信息和状态。

5、有状态的bean在多线程环境中是线程不安全的,无状态的bean在多线程环境中是线程安全的。

6、spring中:

有状态的Bean,多线程环境下不安全,那么适合用Prototype原型模式,当然,由于spring使用了ThreadLocal进行多线程处理,绝大多数bean都可以声明为singleton作用域。这是后话

无状态的Bean适合单例模式(singleton),这样可以共享实例,提高性能。





  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值