面對龐大的 JDK 源碼,不知從何下手?核心原則:**從你使用的功能入口開始看**。
實戰步驟
- 確定使用場景:例如常用
HashMap.put()、ArrayList.add()。
- 直接跳到該方法:IDE 中
Ctrl+Click 進入源碼。
- 順著呼叫鏈往下追:看核心邏輯(擴容、雜湊、索引計算)。
- 遇不懂的先標記跳過:繼續看後續流程,往往後面會自然理解前面的疑點。
- 再回頭看建構子與欄位:理解初始化與資料結構佈局。
前置知識
- 基本資料結構:陣列、鏈表、紅黑樹、雜湊表原理。
- 併發基礎:CAS、AQS、鎖機制(看
ConcurrentHashMap 必備)。
- JVM 記憶體模型:堆、棧、方法區、物件頭結構。
工具加持
- IDE(IntelliJ/Eclipse)原始碼連結。
src.zip 解壓後配合 grep/ack 全域搜尋。
- 線上源碼瀏覽:OpenJDK GitHub。
「帶著問題看源碼」比「從頭讀到尾」效率高十倍。