ConcurrentHashMap之spread方法
因为许多普通hash集合已经合理的分布(所以未从扩张中获益),而且我们使用 红黑树 去处理位于同一个桶中的hash。因为列表使用的是掩码的二次幂,仅在二进制位上变化的哈希值集合将始终发生冲突。以及合并高位的影响,否则可能会出现因为表边界导致计算出来的下标永远不会用到。将哈希值的高位扩展(异或)到低位,并强制将高位 置为0.在已知的例子中,有一组在小表中保存连续整数的浮点键。我们使用可能是最廉价的异或操作位数来减少系统性能损耗。所以我们应用一个转换,用于把高位的影响扩张到低位。
原创
2024-06-13 22:58:33 ·
301 阅读 ·
0 评论