為了提高自己的**水平和除錯水平(主要還是面試會問(想哭)) 逼著自己看了主要集合框架的原始碼 這裡主要是hashmap
當然整個過程也是辛苦的 我們都知道集合的本質是資料結構 博主為了看懂它真的是下足了功夫
我的方法是
測試特殊的例子 idea的debug很強大 可以通過它看看**是否會根據自己所想的那樣執行
然後跟著除錯一步一步走直到發現矛盾的地方
以下純粹為個人的見解 錯誤再所難免 希望積極指出
看懂原始碼 主要還是站在設計者的角度去思考
帶著問題去看 如果叫我設計 我會怎麼寫
HashMap原始碼系列 HashMap的屬性
public class hashmap extends abstractmap implements map,cloneable,serializable容載因子 容載因子越大,table陣列中儲存的資料越密集,碰撞的可能性就越大。容載因子越小,儲存越稀疏,碰撞的可能性就越小,不過浪費儲存空間。轉...
JDK原始碼分析系列 HashMap 1 8
預設的初始化容量,必須是2的n次冪 static final int default initial capacity 1 4 aka 16 最大的容量是2的30次冪 static final int maximum capacity 1 30 預設的負載因子 static final float ...
HashMap原始碼解讀
一 建立乙個hashmap都做了哪些工作?mapmap new hashmap hahmap無參構造方法 public hashmap 可以看到設定了載入因子 預設0.75 閾值 預設容量16 預設載入因子0.75 12 table是hashmap內部資料儲存結構entry陣列。當hashmap的s...