HashMap扩容机制rehashing 1.8 和 1.7 效率有区别吗?
比如说拿数组大小为16(10000)举例。
Jdk1.7:
一个元素计算出哈希值为25(011001),对应的数组位置为25 & (16 - 1) = 9(1001),扩容后位置改为25 & (32 - 1) = 25(011001)。
Jdk1.8:
一个元素计算出哈希值为25(011001),对应的数组位置为25 & (16 - 1) = 9(1001),扩容后先判断 25 & 16 是否有为0,如果不为0就在原数组位置加16移到新位置9 + 16 = 25 的位置,否则位置不变。
为什么会说 Jdk1.8 的效率会更好?(纯属个人疑惑,如有不对请指出)
评论
相关内容
0个评论
全部评论
点击登录,快来和大家讨论吧~
表情
图片
暂无评论
内容推荐
RAG 知识库文档重复入库问题解决方案 - 最新spring ai 1.1.2
4
LeetCode 1 两数之和
3
装饰器模式解决 AI 调用中间过程日志方案记录
3
入职有两三周了,现在在做项目的一些比较杂的需求,前后端都有。但是技术栈我完全不熟,以前用的是Java相关的,现在这个项目用的是python开发。现在我基本只会用Claude code完成这些需求,感觉目前只会使用AI,对它产出的东西我做不了任何的判断,而且自己摸索着做效率也不高,感觉以前学的东西没法运用起来。感觉自己没学到什么,也不知道自己下一步应该怎么去继续提升?大家有什么好办法吗,我之前也没有
3
使用 claude code 遇到的问题
3
