1.异或问题
if ((p = tab[i = (n - 1) & hash]) == null)
原值与后 为什么又进行了一次异或,源码上面只进行到原值与后?
2.有初始容量的HashMap和没有初始容量的HashMap
2-1.没有初始值的HashMap随着put数量增加耗时随着增加,他相对于有初始值的额外耗时消耗在哪里?
2-2.有初始值的构造方法多计算一个threshold,没有的构造方法只有一个loadFactor,但是没有初始值的HashMap put在resize()的时候会去获取默认的配置构建threshold。这个时候没有初始值的HashMap是否和有初始值的HashMap一致了?
还望老师与知道的师兄指教一下。!!
从图解HashMap结构到HashMap底层源码,助你打通HashMap奇经八脉
了解课程