被字节面试官问到的!
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

相关推荐

1. 实习介绍2. 说我做了很多项目,叫我推荐几个说,开始拷打项目,先讲拼团3. 拼团项目业务流程介绍、营销规则树、高并发、自己做的吗?4. 责任链模式一般用来解决什么问题5. 项目tps和qps多少?有点忘记了6. qps的瓶颈?7. 最终数据一致性8. 读多写少的优化策略:缓存策略、数据库优化、写操作优化、缓存一致性9. 读多写少的索引设计10. mysql单库单表 数据超过2kw,索引是否有效:有效、但性能慢:内存压力大、写入变慢、全表扫描失效灾难11. 为什么DDD架构设计?12. SpringBoot处理HTTP请求的核心流程13. HTTP传输数据的安全问题和防护14. HTTPS握手过程(TLS握手):Hello协商算法 → 证书验证身份 → 交换密钥 → 开始加密通信15. 拼团项目反思改进空间:高并发其他方案、部署、业务拓展16. 共享屏幕看我的Agent笔记17. 解释为什么做Agent开发?18. 出算法了,问我源码读的多不,我说不多,然后还是出常规算法题(估计想出多线程)19. 手撕:整数矩阵最长递增路径:DFS+记忆化搜索20. 为什么代码过度使用static,写习惯了leetcode、方便直接用21. Java中static编译后的效果:内存分配、字节码层面、类加载初始化、访问方式22. 手撕:连续子数组和为K的倍数的所有子数组:一开始暴力双层循环了,应该要哈希表存索引或者前缀和23. 代码怎么达到最优的性能:我答成了阿里代码规范、AI工具优化(回答空泛、缺乏具体优化案例)24. 反问什么部门和业务
查看19道真题和解析
点赞 评论 收藏
分享
评论
10
收藏
分享

创作者周榜

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