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

如何开发自己的网站做媛网站

如何开发自己的网站,做媛网站,中国网页游戏排行榜,html5手机网站免费模板【多线程环境下使用哈希表(重点掌握)】 可以使用类:“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.15wanjia.com/news/181443.html

相关文章:

  • 网站不稳定新浪网站首页
  • 南宁商城网站推广公司长沙制作网站
  • 网站是如何做的好两个路由器做双网站
  • php招投标网站源码宠物网站推广怎么做
  • 58同城网站建设的不足西安工业设计公司
  • 小网站关键词重庆游戏公司
  • 高端品牌网站制作十大网站建设公司
  • 江门制作公司网站福田欧曼官网
  • 网站设计制作教程企业网站的建设企业
  • 温州市建设工程质量安全管理总站上线了做的网站可以登陆
  • 哪几个网站适合自己做外贸沈阳app制作网站建设推
  • 东莞网站建设网络公司排名机械网站建设价格
  • 工业设计代做网站大连网页制作wordpress
  • 建设有限公司网站做婚纱网站的目的
  • 网站建设外包合同模板国内crm软件排名
  • 英文网站建设推广下载建网站
  • 做er图的网站wordpress 安装新主题
  • 专做五金正品的网站西安到北京高铁几小时
  • 工信和信息化部网站网站的标签
  • 个人网站例子定制小程序开发公司
  • 做的比较唯美的网站做机械设计的网站
  • 新网站在谷歌上面怎么做推广顺义网站开发
  • 单页网站设计制作怎么查看网页的源代码
  • 山西省住房建设厅网站广州营销型网站制作
  • 做网站用什么软件语言购物网站开发大纲
  • 洛阳网站开发公司建站系统主要包括企业网站系统
  • 做网站推广也要营业执照吗如何在wordpress中添加背景音乐
  • 有后台管理系统网站管理wordpress 4.6漏洞
  • 西安网站建设问问q778925409耍強网络营销方式的对比分析论文
  • 怎么制作微信网站广州去东莞回来要隔离吗