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

上海建站宝盒做中英文网站多少钱

上海建站宝盒,做中英文网站多少钱,临海app开发,网站排名易下拉技术转载自 面试必问#xff0d;几种线程安全的Map解析HashMap线程安全的吗#xff1f;Java中平时用的最多的Map集合就是HashMap了#xff0c;它是线程不安全的。看下面两个场景#xff1a;1、当用在方法内的局部变量时#xff0c;局部变量属于当前线程级别的变量#xff0c;…转载自 面试必问几种线程安全的Map解析HashMap线程安全的吗Java中平时用的最多的Map集合就是HashMap了它是线程不安全的。看下面两个场景1、当用在方法内的局部变量时局部变量属于当前线程级别的变量其他线程访问不了所以这时也不存在线程安全不安全的问题了。2、当用在单例对象成员变量的时候呢这时候多个线程过来访问的就是同一个HashMap了对同个HashMap操作这时候就存在线程安全的问题了。线程安全的Map为了避免出现场景2的线程安全的问题不能使用HashMap作为成员变量要寻求使用线程安全的Map下面来总结下有哪些线程安全的Map呢1、HashTableprivate MapString, Object map  new Hashtable();来看看HashTable的源码HashTable的get/put方法都被synchronized关键字修饰说明它们是方法级别阻塞的它们占用共享资源锁所以导致同时只能一个线程操作get或者put而且get/put操作不能同时执行所以这种同步的集合效率非常低一般不建议使用这个集合。2、SynchronizedMapprivate MapString, Object map  Collections.synchronizedMap(new HashMapString, Object());这种是直接使用工具类里面的方法创建SynchronizedMap把传入进行的HashMap对象进行了包装同步而已来看看它的源码。这个同步方式实现也比较简单看出SynchronizedMap的实现方式是加了个对象锁每次对HashMap的操作都要先获取这个mutex的对象锁才能进入所以性能也不会比HashTable好到哪里去也不建议使用。3、ConcurrentHashMap - 推荐private MapString, Object map  new ConcurrentHashMap();这个也是最推荐使用的线程安全的Map也是实现方式最复杂的一个集合每个版本的实现方式也不一样在jdk8之前是使用分段加锁的一个方式分成16个桶每次只加锁其中一个桶而在jdk8又加入了红黑树和CAS算法来实现。虽然实现起来很复杂但使用起来也是非常简单的在java面试中问的频率也非常高最重要的是性能要比上面两种同步方式要快太多推荐使用。
http://www.pierceye.com/news/537944/

相关文章:

  • dremrever怎么做网站阿里云php网站建设教程
  • 网站建设课程旅行社手机网站建设方案
  • 书店网站建设策划书总结关于外贸公司的网站模板
  • 张家港市规划建设网站房地产估价师
  • 创建网站有什么用南京做网站优化的企业
  • 网站seo设置是什么怎么知道网站被百度k了
  • 个人网站开发的意义自己建设网站需要什么手续
  • 网站的建设流程怎样使用仿站小工具做网站
  • 佛山企业模板建站企业微信管理系统
  • 百度推广登录网站网站开发需要什么技术人员
  • 有关网站升级建设的申请书中国工业设计公司
  • 线上销售怎么做优化网站哪家好
  • 成都网站建设备案audio player wordpress 使用
  • 做网站设计的公司上海装修公司名字
  • 处理器优化软件se 网站优化
  • 网站制作公司汉狮网络电子商务网站建设评估的指标有哪些?
  • asp网站伪静态教程网站建设多少钱实惠湘潭磐石网络
  • wordpress 外贸网站建设wordpress模板安装
  • 中国精准扶贫网站建设现状惠安规划局建设局网站
  • 营销型网站制作建设网络营销推广技巧
  • 哪里有做网站推广的宁波招聘网站开发
  • 建站工具帝国双语网站开发
  • 呼和浩特企业网站建设赞叹天河网站建设公司
  • 新郑做网站公司吉林省建设项目招标网
  • 深圳做网站哪里最好南宁seo外包平台
  • 新开传奇网站推荐做百度推广怎么做才能有电话
  • 文件夹里内容做网站的分类做网站上线一般要多久
  • 企业网站页头背景图河南网络优化服务
  • 成品网站nike源码免费现在装宽带要多少钱
  • 綦江建设银行网站外贸精品网站建设