霸气乌冬面

文章
4
资源
0
加入时间
3年0月21天

你知道 hash 的实现吗?为什么要这样实现?

你知道 hash 的实现吗?为什么要这样实现?在 JDK 1.8 的实现中,是通过 hashCode() 的高16位异或低16位实现的:(h = k.hashCode()) ^ (h >>> 16)。主要是从速度、功效、质量 来考虑的,这么做可以在桶的 n 比较小的时候,保证高低 bit 都参与到 hash 的计算中,同时位运算不会有太大的开销。-------------...