序言:上一節說了閱讀源碼的順序,有了一個大體的方向,咱們就知道該如何下手。接下來,就要搭建一個方便閱讀源碼及debug的環境。有助於跟蹤源碼的調用情況。
目前新開發的項目, 大多數都是基於JDK1.8開發,所以我選擇該版本進行源碼分析。
JDK1.8版本號:jdk1.8.0_151
一. JDK1.8的src在哪里?
找到JDK安裝包所在目錄,會看到src.zip的壓縮包,這里面就是JDK的源碼,如下圖。
二. idea搭建步驟
01. 新建一個簡單的Java工程
打開idea,菜單欄File => Project,出現如下圖
在點Next, 選個初始化一個Hello word應用,出現如下圖:
再點Next, 輸入項目名, 及保存路徑:
最后出現的界面如下:
02. 把源碼src.zip解壓到該工程下的src目錄下
你以為這樣就萬事大吉了嗎?NO, NO, NO
我導入后,運行Main.java文件里面,看能不能正常運行起來,結果在編譯的時候,出現了各種ERROR, 找不到xxx類等問題。
看着這么多錯誤,我有打算放棄的念頭。但是,針對技術,我是一個很倔強的人。
索性思考了一番,這不就是我沒遇到過的問題嗎?如果解決了,那不是又增長了知識。
開始了我的瘋狂自虐操作。
比如 找不到xxx類,可以去網上找相關的類,添加進去就好。只要不是與項目JDK有沖突問題,就都還好。
索性最后問題都被我逐一解決了,最終運行成功。
三. 搭建過程中問題總結
各種ERROR解決思路,為以后的朋友們鋪平道路
我是一個修路工人。
問題1:缺少com.sun.tools包
解決思路:File => Project structure => Libraries 把jdk路徑下的lib包添加到工程中,如下圖:
問題2:缺少sun.awt.UNIXToolkit 和 sun.font.FontConfigManager這兩個類
解決思路: 在src的目錄下手動添加這兩個類
問題3:debug的時候,出現如下,調用的src.zip中的文件
解決思路: 排除掉src.zip文件,按下圖操作即可。
問題4:debug的時候,誤點Alternative source availble for the class xxxx 的disable
解決思路: 打開setting => Debugger, 如下圖 選中該選項。
丑媳婦總要見公婆的。源碼代碼已經提交到github上, 歡迎大家fork和關注。
github: https://github.com/raysonfang/jdk1.8-source-analysis
剛起步,歡迎吐槽。爭取打造成JDK源碼分析系列資源合集,想學習JDK源碼的, 就可以自行下載。