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

深圳罗湖做网站公司建立自己的网站平台

深圳罗湖做网站公司,建立自己的网站平台,iOS开发 隐私政策网站怎么做,网站建设的策划书【多线程环境下使用哈希表(重点掌握)】 可以使用类:“ConcurrentHashMap” ★ConcurrentHashMap对比HashMap和Hashtable的优化点 1.优化了锁的粒度【最核心】 //Hashtable的加锁,就是直接给put,get等方法加上synch…

【多线程环境下使用哈希表(重点掌握)】

可以使用类:“ConcurrentHashMap”

★ConcurrentHashMap对比HashMap和Hashtable的优化点

1.优化了锁的粒度【最核心】

//Hashtable的加锁,就是直接给put,get等方法加上synchronized,就是给this加锁,整个哈希表对象就是一把锁,任何一个针对这个哈希表的操作都会触发锁竞争

而ConcurrentHashMap是给每个哈希表中的“链表”进行加锁(将每个链表头都作为一个锁对象),构成多把锁,形成“锁桶”

这可以保证线程安全

这可以大大降低锁冲突的概率(只有同时进行的两次修改,恰好在修改同一个链表上元素时,才会触发锁冲突)

2.引入了CAS原子操作

哈希表有一个size(链表大小)这样的变量,针对像修改size这样的操作,直接借助CAS完成,不会加锁

3.针对读操作,做了特殊处理

上述的加锁,只是针对写操作来加锁

对于读操作,通过volatile以及一些精巧的代码实现,确保读操作不会读到“修改一半的数据”

4.针对哈希表的扩容,进行了特殊的优化,可以令操作更加稳定

普通哈希表扩容,需要创建新的哈希表,把元素都搬运过去,这一系列操作,很有可能就在一次put就完成了,就会令这次put开销很大,耗时长

ConcurrentHashMap进行了“化整为零”,不会在一次操作中进行所有的数据搬运,而是一次只搬运一部分(创建新空间的同时,也保留旧空间),此时后续的每次操作都会触发一部分key的搬运,最终把所有的key都搬运完成

当新旧空间同时存在时:

1.插入操作——直接插入到新的空间中

2.查询/修改/删除,都是需要同时对旧的空间和新的空间进行操作

http://www.sczhlp.com/news/26731/

相关文章:

  • 广告资源发布平台杭州云优化信息技术有限公司
  • 无锡高端网站设计公司价格it培训机构出来能找到工作吗
  • 怎么可以联系到网站开发者深圳全网推广托管
  • 做网站不要盲目跟风广州seo排名收费
  • 网站favicon图标替换济宁seo优化公司
  • 网站建设教程论坛游戏交易平台
  • 营销软件激活码商城win10优化大师是官方的吗
  • 机票网站建设公司太原自动seo
  • 网站的侧边栏怎么做近三天发生的重要新闻
  • 成都网站建设定制开发服务知名的网络推广
  • 新疆北方建设集团有限公司网站seo百度百科
  • 读大语言模型03聊天机器人(下)
  • 毕业设计做网站还是系统好谷歌海外广告投放
  • 网站建设需求分析写什么seo谷歌
  • 广州网站优化公司网站关键词提升
  • 网站建设规划建议查域名备案
  • 银行卡转账生成器在线制作网站山东网络优化公司排名
  • 域名空间网站推广推广搜索引擎
  • 网站做等保三级建设奶盘seo伪原创工具
  • 扬州市开发区建设局网站首页谷歌seo优化怎么做
  • 包头网站优化网站优化分析
  • 网站建设公司获得风投搜索关键词排名优化软件
  • 东莞建网站公司动如何在网上推广自己的产品
  • 广州网页设计多少钱seo如何优化排名
  • 万能网站公司官网开发制作
  • 网站备案费用seo关键词排名价格
  • 西宁做网站的有吗海淀搜索引擎优化seo
  • “一个”网站网站优化排名工具
  • 装饰公司响应式网站建设案例中国网站排名网官网
  • 怎么做网站免费的硬件工程师培训机构哪家好