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

成都 网站建设 app 开发短视频推广app

成都 网站建设 app 开发,短视频推广app,江苏工程建设信息网站,网站建设需要那些基础1.底层实现 2.如何解决hash冲突 3.扩容机制 4.无序 5.非线程安全 6.不可寻址 runtime/map.go 1.底层实现 底层基于hash表实现,实现有2个结构体hmap,bmap,map由若干个桶存储,每个桶存8个元素,使用链地址解决hash冲突 …

1.底层实现
2.如何解决hash冲突
3.扩容机制
4.无序
5.非线程安全
6.不可寻址

runtime/map.go

1.底层实现
底层基于hash表实现,实现有2个结构体hmap,bmap,map由若干个桶存储,每个桶存8个元素,使用链地址解决hash冲突

2.如何解决hash冲突
链地址法
当key定位到的桶已经填满8个元素,会创建一个溢出桶,将溢出桶插入当前桶的链表尾部

3.扩容机制
扩容条件
1.超过负载
map元素个数 > 6.5*桶个数,即平均每个bucket存储的键值对达到6.5个
2.溢出桶太多
没有超过负载因子,但是溢出桶太多
当桶总数 < 2^15, 如果溢出桶总数>=桶总数,则认为溢出桶过多
当桶总数>=2^15 如果溢出桶总数>=2^15 ,则认为溢出桶过多

扩容机制:
1.双倍扩容
新建一个桶数组,个数是原来的2倍,然后把旧桶的数据迁移到新桶
2.等量扩容
并不扩大容量,桶的数量保持不变,只是把旧桶的数据重新排列一次,使得同个桶的key排列更紧密,节省空间。

4.无序
(1)map在遍历时,不是固定从0号桶开始遍历,每次遍历都会随机选一个桶
(2)map扩容会发生key迁移,导致顺序变化
如何保证有序,先对key排序,再按key遍历map

5.非线程安全
没有加锁

6.不可寻址
map的value不可寻址原因
1.map底层是基于哈希表实现,也就是数组+链表,本身不可寻址
2.map扩容会导致key,value发生迁移

http://www.yayakq.cn/news/701325/

相关文章:

  • 天河网站建设策划百家号关键词排名优化
  • 做彩票网站违法的吗网页版传奇如何作弊?
  • 加强政协网站建设温州网站开发流程
  • 设计网站设计网站房产网签合同
  • 长沙点梦网站建设淮南模板网站建设怎么样
  • 普通网站制作中国石油工程建设有限公司网站
  • 广州网站建设解决方案手机对比网站
  • 全国做的最棒的网站网站开发技术选型
  • 做网站赚钱容易吗如何给网站做优化
  • 网站维护包含哪些内容小程序商城代理
  • 企业站网站wordpress本地搬家到阿里云
  • 网站控制面板中设置目录权限温州网站建设制作公司
  • 广告策划书包括什么内容乐云seo手机网站建设
  • 织梦可以做英文网站吗石家庄网站建设公司哪家好
  • 做技能培训和那个网站合作好网站改版如何做301
  • 济源做网站公司重庆在建工程信息查询
  • 多种语言的网站ps网站建设要知道的知识
  • 深圳城市规划设计研究官方网站软文营销的概念
  • 国内做网站大公司有哪些做盗版网站违法吗
  • 兰州网站制作公司排名做公司网站要学会什么
  • 四川城乡建设网站首页中国十大进出口公司排名
  • 网站建设和管理中 经验百度推广后台登录首页
  • aspnet网站开发实例教程pdf淮南政务网
  • 全网模板建站系统软文代发价格
  • 官方网站欣赏吉林企业做网站
  • 河南网站建设服务公司网站建设 提升和扩大
  • 专业网站快速全国统一证书查询官网
  • mockpuls可以做网站吗wordpress中php代码只能一行一行写
  • 给视频做特效的网站视频教学网站开发需求分析
  • gta5可用手机网站大全扬州建设信息网站