modCount变成了非volatile得 为神马呢?因为hashmap本身就是以线程安全为目的设计的类,就是单线程使用的类,volatile作用不大,而且徒增一些读写开销!! 原来的拉链变成了红黑树,极端情况下的查找时间复杂度由O(n)变成了O(lgn) key为null的元素,放在独立的属性里。以前是默认放在第一个拉链中。 增加一个加hashSeed的东西增加了hash随机性!