被字节面试官问到的!
hashmap在1.8的时候为什么要采用尾插法?它是线程不安全的,不会在多线程环境下使用,那肯定不是因为避免产生死循环。难道只是为了保证链表原来的顺序?
全部评论
我认为单线程情况下采用尾插法可以直接得到当前链表的长度,直接判断是否需要转换红黑树
4 回复 分享
发布于 2021-05-03 00:30
1.7里头插在并发状态会形成环,cpu刷到100%
2 回复 分享
发布于 2021-04-10 21:46
头插法在多线程下可能会导致两个节点相互引用,构成环,而且顺序会倒置吧。。
1 回复 分享
发布于 2021-04-16 15:48
JDK1.7的头插法,JDK官方貌似利用了所谓的热点数据,先插入的数据可能先使用, 但是扩容后链表顺序就倒置了,没有意义,而且会有线程安全问题, 索性就用尾插法
点赞 回复 分享
发布于 2021-05-05 19:51
我记得反正都要遍历链表的,索性直接尾插了
点赞 回复 分享
发布于 2021-05-05 17:22
因为头插***挪动数组的数据往后挪位置,而尾插发直接往在尾部添加即可,效率会比头插法效率高一些
点赞 回复 分享
发布于 2021-05-04 12:08
可能没理解我的意思,我是说在单线程场景下采用尾插法有什么好处?
点赞 回复 分享
发布于 2021-04-16 15:55
毕竟是多线程环境
点赞 回复 分享
发布于 2021-04-07 10:53
头插法的话可能会导致链表后面的节点丢失
点赞 回复 分享
发布于 2021-04-07 10:53

相关推荐

不愿透露姓名的神秘牛友
07-24 13:39
在记录秋招的大魔王很...:别被忽悠了,我做了多年销售。我可以告诉你,这就是忽悠你的,销售一定要看底薪也要看提成两者不可缺一。提成是有业绩的时候才拿的到的,谁能保证一直有单状态都好。销售有时候很讲究运气的。底薪是你这个人这个岗位日常工作体现的价值。别小看底薪,你看那些跳槽去做经理主管的,底薪底一些,人家愿意去吗?所以那些说销售靠提成的纯属忽悠,除非他们的业务很容易成单。
点赞 评论 收藏
分享
这就是伊泽瑞尔:进什么厂,就是三方面决定,八股+项目可以进中小厂,要进大厂再刷刷算法。
点赞 评论 收藏
分享
06-12 16:00
天津大学 Java
牛客30236098...:腾讯坏事做尽,终面挂是最破防的 上次被挂了后我连简历都不刷了
点赞 评论 收藏
分享
07-22 13:50
门头沟学院 Java
仁者伍敌:其实能找到就很好了,当然收支能抵
点赞 评论 收藏
分享
评论
10
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务