Dict(hash)
1.Dict由 哈希表 + 哈希节点 + 字典 组成
1.1 哈希冲突用拉链法
1.2 Dict 内存 结构
2.1 rehash
2.1.1 扩容
由于size是固定的,当used达到一定大小必然出现hash冲突,
我们就规定一个负载因子used/size ,大于1的时候就说明用了拉链法
那么查找的话就要遍历链表,导致性能变差,因此需要对其进行扩容,
也即增加dictEntry[]的大小

2.1.2 收缩
2.1.3
过程图解
a.超出后复制rehash(因为sizemask变了,必须要rehash c)
- 接管新的dictEntry*[]

2.1.4 rehash的时间—>渐进式的rehash
rehashidx用来判断当前rehash到了那个桶, 标记迁移的进度
2.1.5 总结 ,注意扩容都是以2的幂为进制的