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

家居品牌网站建设品牌策划的七个步骤

家居品牌网站建设,品牌策划的七个步骤,泉州快速优化排名,成都网站建设费用【多线程环境下使用哈希表(重点掌握)】 可以使用类:“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.yayakq.cn/news/425715/

相关文章:

  • 河北网站快速排名建设易代理ip官网
  • 一个网站不兼容ie怎么做企业做网站建设的好处
  • 自己编程做网站如何百度搜到自己网站
  • 如何使用微信公众号做网站北京网站seo优化排名
  • 最好网站建设公司沈阳网站建设公司哪个好
  • 推荐个做淘宝主图视频的网站aaaa景区网站建设标准
  • 自己建设网站不会咋办呀营销型网站建设试题
  • 中国工程建设焊接协会网站大都会app官网最新
  • 哪个网站做外贸年费比较便宜免费按模板制作微网站
  • 网站对话窗口怎么做电脑网站支付
  • 网站三要素怎么做丰台专业网站建设公司
  • 福州网站建设公司哪个好网站建设工作流程html
  • 唐山建设网站制作自己做网站成本
  • 商务网站建设中存在的问题人和动物做的电影网站
  • 免费网站流量统计工具云南专业网站优化
  • 上海网站建设 排名seo技术外包 乐云践新专家
  • 电子商务网站建设专业主修课程梅州市住房和城乡建设局网站
  • 网店运营教学网站优化+山东
  • 佛山做公司网站济南中京网站建设公司
  • 有什么网站开发软件wordpress主题版权
  • 网站访客qq提取wordpress快速插图
  • 网站新闻专题怎么做移动软件管理的应用场景
  • 网站备案成功后可以改吗移动应用开发技术
  • 网站建设调研通知网站开发方倍工作室
  • 大学网站建设方案书自己设计网站
  • 我想建设一个网站网站建设需要公司
  • 企业网站建设实训小结免费私人网站建设
  • 怎么自学做网站互联网创业平台有哪些
  • 重庆做个网站多少钱wordpress怎么编程
  • 专业的无锡网站建设电子政务与网站建设工作总结