JDK并没有直接使用Object的native方法返回的hashCode作为最终的哈希值,而是进行了二次加工。 使用key对应的hashCode与其hashCode右移16位的结果进行异或操作。此处,将高16位与低16位进行异或的操作称之为扰动函数,目的是将高位的特征融入到低位之中,降低哈希冲突的概率。