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

网站建设模板哪里有湖南网页设计培训网站建设

网站建设模板哪里有,湖南网页设计培训网站建设,深圳开发小程序公司,全球互联网总部在哪里#x1f6e9;️#x1f6e9;️#x1f6e9;️ 今天给大家分享的是 HashTable, HashMap, ConcurrentHashMap之间的区别#xff0c;也是自己学习过程中的总结。 清风的CSDN博客 #x1f6e9;️#x1f6e9;️#x1f6e9;️希望我的文章能对你有所帮助#xff0c;有不足的… ️️️ 今天给大家分享的是 HashTable, HashMap, ConcurrentHashMap之间的区别也是自己学习过程中的总结。 清风的CSDN博客 ️️️希望我的文章能对你有所帮助有不足的地方还请各位看官多多指教大家一起学习交流 ✈️✈️✈️动动你们发财的小手点点关注点点赞在此谢过啦哈哈哈 目录 一、HashTable  二、ConcurrentHashMap  三、相关问题  3.1 ConcurrentHashMap的读是否要加锁为什么 3.2 ConcurrentHashMap的锁分段技术 3.3 ConcurrentHashMap在jdk1.8做了哪些优化  3.4 Hashtable和HashMap、ConcurrentHashMap 之间的区别? HashMap 本身不是线程安全的。 在多线程环境下使用哈希表可以使用 : Hashtable ConcurrentHashMap 一、HashTable  HashTable 只是简单的把关键方法加上了 synchronized 关键字。 这相当于直接针对 Hashtable 对象本身加锁任意操作就会涉及到对this的加锁。 如果多线程访问同一个 Hashtable 就会直接造成锁冲突size 属性也是通过 synchronized 来控制同步, 也是比较慢的一旦触发扩容, 就由该线程完成整个扩容过程这个过程会涉及到大量的元素拷贝, 效率会非常低 二、ConcurrentHashMap  相比于 Hashtable 做出了一系列的改进和优化 以 Java1.8 为例 读操作没有加锁(但是使用了 volatile 保证从内存读取结果), 只对写操作进行加锁加锁的方式仍然是是用 synchronized, 但是不是锁整个对象, 而是 锁桶 (用每个链表的头结点作为锁对象), 大大降低了锁冲突的概率。充分利用 CAS 特性(前篇文章给大家详细介绍过), 比如 size 属性通过 CAS 来更新,避免出现重量级锁的情况。优化了扩容方式: 化整为零              发现需要扩容的线程, 只需要创建一个新的数组, 同时只搬几个元素过去。扩容期间, 新老数组同时存在。后续每个来操作 ConcurrentHashMap 的线程, 都会参与搬家的过程每个操作负责搬运一小部分元素。搬完最后一个元素再把老数组删掉。插入只往新数组加。查找需要同时查新数组和老数组。 三、相关问题  3.1 ConcurrentHashMap的读是否要加锁为什么 读操作没有加锁目的是为了进一步降低锁冲突的概率。为了保证读到刚修改的数据, 搭配了 volatile 关键字 3.2 ConcurrentHashMap的锁分段技术 简单的说就是把若干个哈希桶分成一个 段 (Segment), 针对每个段分别加锁。目的也是为了降低锁竞争的概率当两个线程访问的数据恰好在同一个段上的时候, 才触发锁竞争。 3.3 ConcurrentHashMap在jdk1.8做了哪些优化  取消了分段锁, 直接给每个哈希桶(每个链表)分配了一个锁(就是以每个链表的头结点对象作为锁对象)。将原来数组 链表的实现方式改进成 数组 链表 / 红黑树 的方式当链表较长的时候(大于等于8 个元素)就转换成红黑树。 3.4 Hashtable和HashMap、ConcurrentHashMap 之间的区别? HashMap: 线程不安全key 允许为 null Hashtable: 线程安全。使用 synchronized 锁 Hashtable 对象, 效率较低。 key 不允许为 nullConcurrentHashMap: 线程安全。使用 synchronized 锁每个链表头结点, 锁冲突概率低, 充分利用CAS 机制 优化了扩容方式 key 不允许为 null 好啦今天的分享就到这里 ️️️希望各位看官读完文章后能够有所提升。 创作不易还希望各位大佬支持一下 ✈️✈️✈️点赞你的认可是我创作的动力 ⭐⭐⭐收藏你的青睐是我努力的方向 ✏️✏️✏️评论你的意见是我进步的财富
http://www.hkea.cn/news/14323816/

相关文章:

  • 分销网站制作条件周口市规划建设局网站
  • 网站建设业务员好做吗郑州餐饮网站建设公司排名
  • 书生商友网站建设制作网页费用
  • 咸阳网站建设公司桂林卖手机网站
  • 厦门网站建设公司闽icpwap版网站 加app提示
  • 网站到期续费吗网站建设中模
  • php做的网站怎么加密吉林网站建设司
  • 网站怎么做能让人搜到苏州做网站推广哪家好
  • 团购网站app制作自己制作广告
  • 建设厅网站如何查询企业信息安联建设集团股份公司网站
  • 科技建筑公司网站网站搭建免费官网
  • 双线网站开发公司商铺租金资金回笼慢的原因
  • 经典的jq查询网站网站维护提示怎么做
  • 建站行业解决方案足球比赛直播 视频直播
  • 网站备案号官网uc投放广告网站要自己做吗
  • 北京做网站哪个好做公众号首图的设计网站
  • 网站开发和软件开发哪个好开广告店需要什么技术
  • 专业网站建设服务公司哪家好域名防红跳转网址生成
  • html 单页网站以前可以做视频的网站
  • 杭州餐饮 网站建设网站域名怎么申请
  • 网站建设工作流程图桂电做网站的毕设容易过嘛
  • 深圳做网站的公司的区域关于做电商网站导流项目
  • 网站开发怎么确定价格手机网站焦点图代码
  • 个人网站样式wordpress怎么建商场
  • 网站营销做的好的律师什么网站做淘宝素材比较好
  • cad做彩图那个网站应用好用聚名网账号购买
  • 物流公司网站建设方案怎么自己在电脑上做网站
  • 百年建筑网优化网站佛山厂商
  • 企业网站制作素材网站建立要多少钱
  • 网站建设都是需要什么做网站和做app哪个容易