
笔试面试
文章平均质量分 82
namnem
这个作者很懒,什么都没留下…
展开
-
HashMap的线程安全问题,可运行demo
前言在jdk1.7中,hashMap的实现是数组加链表(jdk1.8冲突不强的情况下也是链表)。但是1.7中在转移数组的时候,链表转移方式是尾插法。[扩容的时候会转移数组]尾插法将带来一定的并发问题,核心在于形成了一个闭环,导致while循环无法结束由于使用hashMap去重现这个问题,不一定能重现,所以自己写了一个demo,一跑就知道尾插法的问题出在哪里Demo模拟代码假设旧的节点数组长度为10,现在要扩容到20。经过hash计算要将原来位于node[5]的链表移植到新的节点数组的newNode原创 2021-02-02 22:45:23 · 293 阅读 · 0 评论 -
从上课划水到校招备考,我对排序的第二次理解
排序算法基本每个学语言的人都会写好几次。。在回顾排序算法的时候发现了上课划水时的一些错误理解。1.旧的错误:在高效排序中局部使用了低效的‘冒泡’2.新的发现:希尔排序与堆排序的‘相似’之处3.旧的错误:堆排序的initHeap()的错误思路与正确思路4.旧的错误:错误的并归排序写法——为了节省空间,让并归排序在同一个表中进行——结果每个小数组仍然要使用简单排序5.旧的错误:错误...原创 2019-08-13 12:47:46 · 336 阅读 · 0 评论