2022周瑜终于把Hashmap和ConcurrentHashMap源码讲清楚了!(1400分钟高质量面试教程)

作者: 图灵课堂周瑜老师分类: 计算机技术 发布时间: 2022-01-26 22:12:37 浏览:19461 次

2022周瑜终于把Hashmap和ConcurrentHashMap源码讲清楚了!(1400分钟高质量面试教程)

Yu-AnXin:
听你讲的好辛苦,感觉你讲的时候一定很心累,但是你确实是讲清楚了,加油

古飙彪:
周瑜老师讲课通俗易懂,你是懂教学的

【回复】回复 @古飙彪 :哈哈哈,谢谢认可啊
Richerich:
你到底有几个up账号,我目前看到三个了,看的晕晕的[笑哭]

【回复】回复 @图灵课堂周瑜老师 : 为什么你的源码注释那么干净,是如何设置的?
【回复】回复 @Rich30 :你关注我这个号就好了,图灵的视频都有更新的
凌翼之风:
所以为什么1.7用头插法,1.,8用尾插法呢

出现又离开:
P20中老师讨论了一个问题,关于在JDK1.7中为什么计算segement下标要使用高位hash,我的理解是如果使用原有的hash值取下标的话,会导致entry数组下标的计算不散列。如: 0000 0111 -> 假设是segement数组 如果计算出索引下标为7 则代表后三位一定是1 0000 1111 -> 假设是entry数组 可以发现规律,segement下标为7的元素一定只会放在entry下标为7 或者 7+8(2的3次方),会造成其他索引下标的数据完全为空的情况。 这其实和老师描述的hash表扩容数组下标迁移的机制相关

砰然新动:
我知道是为啥,因为你在做替换的时候取的是工作内存中的person.i去替换旧值,那么此时的工作内存可能还没读取主存的新值,再+1也还是4,可以给person加一个volatile解决

小夕书书:
为什么你的源码注释那么干净,是如何设置的?

科技猎手 JAVA 计算机 编程 ConcurrentHashMap Hashmap源码 Hashmap教程 面试 Java集合 Hashmap

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!

更多相关阅读