摘要: ```java public V put(K key, V value) { return putVal(key, value, false); } final V putVal(K key, V value, boolean onlyIfAbsent) { if (key == null || v 阅读全文
posted @ 2018-12-20 19:21 麦兜爱学习 阅读(2043) 评论(0) 推荐(0) 编辑
摘要: 多线程扩容: 这里我们先把核心代码搬出来, 方便查看 while(null != e) { Entry<K,V> next = e.next; //第一行 int i = indexFor(e.hash, newCapacity); //第二行 e.next = newTable[i]; //第三行 阅读全文
posted @ 2018-12-20 19:08 麦兜爱学习 阅读(637) 评论(0) 推荐(0) 编辑
摘要: 因为按位运算比取余操作快很多。 当length一定是2^n时,h & (length 1) == h % length。 此时可以使用位运算来替代取余运算。 阅读全文
posted @ 2018-12-20 18:51 麦兜爱学习 阅读(623) 评论(0) 推荐(0) 编辑