当前位置: 首页 > news >正文

企业品牌网站建设360广告推广平台

企业品牌网站建设,360广告推广平台,建网站怎么做,免费网站域名文章目录结论1、spring中的Bean从哪里来?2、spring中什么样的Bean存在线程安全问题?3、如何处理spring Bean的线程安全问题?结论 其实,Spring 中的 Bean 是否线程安全,其实跟 Spring 容器本身无关。Spring框架中没有提…

文章目录

  • 结论
  • 1、spring中的Bean从哪里来?
  • 2、spring中什么样的Bean存在线程安全问题?
  • 3、如何处理spring Bean的线程安全问题?

结论

其实,Spring 中的 Bean 是否线程安全,其实跟 Spring 容器本身无关Spring框架中没有提供线程安全的策略,因此,spring容器中的Bean本身也不具备线程安全的特性。俺们要透彻理解这个结论,我们首先要知道spring中的Bean是从那里来的

1、spring中的Bean从哪里来?

在 Spring 容器中,除了很多 Spring 内置的 Bean 以外,其他的 Bean 都是我们自己通过 Sring 配置来声明的,然后,由 Spring 容器同意加载。我们在 Spring 声明配置中通常会配置一下内容,如:class(全类名)、id(也就是Bean 的唯一标识)、scope(作用域)以及 lazy-init(是否延时加载)等。之后,Spring容器根据配置内容使用对应的策略来创建 Bean 的实例。因此,Spring 容器中的 Bean 其实都是根据我们自己写的类来创建的实例。因此, Spring 中的 Bean 是否线程安全,跟 Spring 容器无关,只是交由 Spring 容器托管而已
那么,在 Spring 容器中,什么样的 Bean 会存在线程安全问题呢?
回答这个问题之前我们得先回忆一下 Spring Bean 的作用域。在 Spring 定义的作用域中,其中有 prototype(多例 Bean)和 singleton(单例 Bean)。那么,定义为 prototype 的 Bean,是在每次 getBean 的时候都会创建一个新的对象。定义为 singleton 的 Bean,在 Spring 容器中只会存在一个全局共享的实例。基于对以上 Spring Bean 作用域的理解,下面我们来分析一下在 Spring 容器中,什么样的Bean 会存在线程安全问题

2、spring中什么样的Bean存在线程安全问题?

我们已经知道,多例 Bean 每次都会新创建新实例,也就是说线程之间不存在 Bean 共享的问题。因此,多例 Bean 是不存在线程安全问题的。
而单例 Bean 是所有线程共享的一个实例,因此,就可能会存在线程安全问题。但是单例 Bean 又分为无状态 Bean 和有状态 Bean 。在多线程操作中只会对 Bean 的成员变量进行查询操作,不会修改成员变量的值,这样的 Bean称之为无状态 Bean 。所以,可想而知,无状态的单例 Bean 是不存在线程安全问题的但是在多线程操作中如果需要对 Bean 中的成员变量进行数据更新操作,这样的 Bean 称之为有状态 Bean ,所以,有状态的单例 Bean 就可能存在线程安全问题。
所以,最终我们得出结论,在 Spring 中,只有有状态的单例 Bean 才会存在线程安全问题。我们在使用spring的过程中,经常会使用到有状态的单例 Bean,如果真正遇到了线程安全问题,我们该如何处理呢?

3、如何处理spring Bean的线程安全问题?

处理有状态的 Bean 的线程安全问题有以下三种方法:

  1. 将 Bean 的作用域由“singleton”单例改为“prototype”多例
  2. 在 Bean 对象中避免定义可变的成员变量,当然,这样做不太现实,就当我没说
  3. 在类中定义 Thread Local 的成员变量,并将需要的可变成员便来给你保存在 Thread Local 中,Thread Local 本身就具备线程隔离的特性,这就相当于为每个线程提供了一个独立的变量副本,每个线程只需要操作自己的线程副本变量,从而解决线程安全问题
http://www.wooajung.com/news/32365.html

相关文章:

  • 免费asp网站空间常德今日头条新闻
  • 福建建设银行官方网站手机网站建设
  • 展示形网站开发电子商务网站推广策略
  • 网络营销常见的推广方式深圳百度网站排名优化
  • 做论坛网站怎么赚钱吗南宁网络推广服务商
  • 网上购物系统er图网站关键词优化怎么弄
  • 淄博网站设计黄页网
  • 网站做好了前端 后端怎么做淘宝网页版
  • 专业网站 建设公司武汉网络推广公司
  • wordpress会员等级插件北京优化靠谱的公司
  • 安泽网站建设seo优化在哪里学
  • 如何在虚拟机里面做网站网页模板设计
  • 浙江省建设部网站百度信息流投放
  • 网站建设与管理实践心得泉州百度网络推广
  • 我想在阿里巴巴做卫生纸的网站海外市场推广做什么的
  • 酒店门户网站建设背景武汉网站开发公司seo
  • 完善旅游网站建设谷歌浏览器官网下载安装
  • 返利网一类的网站怎么做重庆网站seo服务
  • 珠海做网站方案推广软文范文800字
  • logo怎么注册seo关键词排名网络公司
  • 禹城做网站重庆seo网站建设
  • 杨凌网站建设推广网络营销的发展现状如何
  • 网站建设 doc深圳网络推广代运营
  • 厦门网站建设公司怎么选如何让别人在百度上搜到自己公司
  • 新闻网站怎样做seo优化可口可乐软文营销案例
  • 完全免费空间网站微信营销推广软件
  • 青岛专业网站建设推广报价写文章一篇30元兼职
  • 如何做免费的公司网站关键词优化软件排行
  • 买网站去哪买神马seo服务
  • 国外做多媒体展览的网站郑州seo阿伟