- 0
- 0
- 约3.25千字
- 约 14页
- 2026-04-29 发布于北京
- 举报
思考
1.Hash扩容算法在多线程情况有什么问题?
2.如何在3亿个整数(0~2亿)中判断某一个数是否存在?内存限制500M,一台机器。
分治:
布隆过滤器:
Redis
Hash:开3亿个空间,HashMapput(key,value)put(1,true);
数组:问题;data[2亿],开始都为0,data[1]=1表示存在可行吗?不可形
Bit:bitMap,位图;
最小的单位:bit,byte
1Btye=8bit
Char
Int=bit?Int=4byte=4*8bit
Hash扩容
扩容算法在多线程时的问题:
1.多线程put操作,get会死循环()。这个确实可以优化掉,比如扩容的时候我们新开一个数组,不要使用共享的那个数组
2.多线程put可能会导致get取值错误
为什么会出现死循环呢?
上节课我们讲到hash时我们会采用了链式结构来保存的值。如果我们在遍历这个链表时本身是这样的1-2-3-null
如果我们遍历到3本身应该是
您可能关注的文档
最近下载
- 2026年新苏教版三年级下册科学全册知识点梳理(新教材).pdf
- 达坂城区防风林初步设计文本.doc VIP
- 场平土石方工程归档资料.docx VIP
- 2025年长沙县县内选调教师考试试题附答案.docx VIP
- 小学数学课标测试题题库及答案.doc VIP
- 浅析中德文化差异对商务谈判的影响及应对策略.docx VIP
- 新疆2022系列标准设计图集新22D6 防雷与接地工程.docx VIP
- 湖南省近六年(2014年-2019年)对口招生考试医卫类专业综合知识试题.docx VIP
- 场平土石方工程归档资料.doc VIP
- 三一履带起重机SCC13800TM_产品手册用户使用说明书技术参数图解图示电子版.pdf VIP
原创力文档

文档评论(0)