Spring谈谈其singleton模式
博客专区 > wiitht 的博客 > 博客详情
Spring谈谈其singleton模式
wiitht 发表于10个月前
Spring谈谈其singleton模式
  • 发表于 10个月前
  • 阅读 7
  • 收藏 0
  • 点赞 0
  • 评论 0

移动开发云端新模式探索实践 >>>   

    spring默认对bean采用的是单例模式,单例模式的好处就是对Bean容器来说有如下几点:

        1.减少实例的创建和管理的开销;

        2.对JVM垃圾收集友好;

    事物总有两面性,有一定好处就有一定缺陷;在Tomcat中对于每个请求都是单独分配一个线程来处理的;这意味着如果单实例的bean带上了状态,那么就会出现线程不安全的问题。

    Spring也给出了我们解决方案:

  • 在Tomcat和Jetty中,request和response对象对于线程单例的;
  • 基于Invocationhandler的动态代理;
  • ThreadLoacl是从当前线程中获取对象;
  • 在web项目中,可以使用Listener监听并处理http请求;

    参考

    其中我个人认为最核心的处理方案还是ThreadLocal通过本地线程对象解决了当前线程变量的存储(一般喜欢存放数据库实例connection,request等等)问题,从而避免了线程安全问题。

  • 打赏
  • 点赞
  • 收藏
  • 分享
共有 人打赏支持
粉丝 2
博文 158
码字总数 113789
×
wiitht
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: