
Source Code
源码阅读
weixin_43766298
这个作者很懒,什么都没留下…
展开
-
《HashMap中位运算的探索》
HashMap中位运算的探索(JDK1.8)1.哈希表中寻址操作:tab[i = (n - 1) & hash]2.散列函数3.tableSizeFor方法1.哈希表中寻址操作:tab[i = (n - 1) & hash]寻址就是找到即将被put进哈希表的元素在哈希表的具体下标位置从下面的源码可以看出n-1代表哈希表的最大下标,hash代表key经历散列函数的值那么寻址操作如何保证下标不越界呢?final V putVal(int hash, K key, V value,原创 2020-07-05 19:59:49 · 279 阅读 · 0 评论 -
Object
JDK源码阅读1.java所有类的根类 Object1.java所有类的根类 Objectpublic class Object { private static native void registerNatives(); static { registerNatives(); } /** * 返回对象的字节码对象 */ public final native Class<?> getClass();原创 2020-06-12 23:37:58 · 76 阅读 · 0 评论 -
HashMap
HashMap1.属性分析2.put方法分析3.扩容方法4.链表转红黑树1.属性分析 //哈希表数组的默认长度 16 static final int DEFAULT_INITIAL_CAPACITY = 1 << 4; // aka 16 //哈希表数组的最大长度,2的30次方的原因是,int 最大值是 2的31次方减 1,所以只能是 30 次方 st...原创 2020-04-06 22:56:39 · 226 阅读 · 0 评论