用IDEA調(diào)試JDK源碼 (含閱讀調(diào)試源碼的技巧)
點(diǎn)擊關(guān)注公眾號(hào),Java干貨及時(shí)送達(dá)??

來(lái)源:chenxiao.blog.csdn.net/article/details/104369824
在學(xué)習(xí)JDK源碼的時(shí)候,自然少不了代碼的調(diào)試。
閱讀與調(diào)試各個(gè)版本JDK 的環(huán)境搭建基本一致,這里以JDK1.8為例。
首先,在安裝的jdk1.8路徑下,找到src.zip和javafx-src.zip壓縮文件 ,
選擇一個(gè)合適的目錄 復(fù)制過(guò)來(lái)一份
接著新建兩個(gè)文件夾
javafx-src 和 src,將兩個(gè)壓縮包分別放入兩個(gè)文件夾,并解壓。

接著用IDEA新建一個(gè)Java項(xiàng)目,注意目錄不要是LeanningJDK1.8,正常建項(xiàng)目哈
新建項(xiàng)目完成之后,點(diǎn)擊file>project structure,然后選中SKDS,切換到Sourcepath選項(xiàng)
.
將原先的src.zip和javafx-src.zip依賴(lài),“-”減號(hào)刪去,“+”好新建你本地解壓后的src和javafx-src依賴(lài),之后我們點(diǎn)擊apply
然后點(diǎn)擊file --> Setting --> Build,Execution,Deployment --> Debugger --> Stepping
把Do not step into the classes中的ajva.*,javax.*取消勾選,其他的隨意, 點(diǎn)擊apply。
這下就大工告成了。
簡(jiǎn)單代碼的打印輸出
簡(jiǎn)單的調(diào)試
成功進(jìn)入JDK源碼中。
下面說(shuō)幾個(gè)閱讀調(diào)試源碼的技巧,考慮到網(wǎng)上資料很多了,我給大家找了一篇 IDEA 閱讀調(diào)試 Java 源碼的技巧,我看了看覺(jué)得有幾個(gè)地方需要補(bǔ)充一下
查看類(lèi)直接可以用快捷鍵alt + 7 ,可以看到這個(gè)方法有哪些調(diào)用方法
通過(guò)點(diǎn)擊方法,可以定位到相關(guān)的位置
調(diào)試中的條件斷點(diǎn):
在斷點(diǎn)處右擊:
可以設(shè)置條件,例如設(shè)置test(1)==6,那么當(dāng)條件滿(mǎn)足時(shí),到 這步才會(huì)停下來(lái)。
細(xì)心的話(huà),可以發(fā)現(xiàn) suspend這個(gè)選項(xiàng),有個(gè)Thread,這個(gè)可以進(jìn)行多線(xiàn)程的一個(gè)調(diào)試。可以控制線(xiàn)程的一個(gè)執(zhí)行順序。
2.?SpringBoot + SpringBatch + Quartz整合定時(shí)批量任務(wù)
最近面試BAT,整理一份面試資料《Java面試BATJ通關(guān)手冊(cè)》,覆蓋了Java核心技術(shù)、JVM、Java并發(fā)、SSM、微服務(wù)、數(shù)據(jù)庫(kù)、數(shù)據(jù)結(jié)構(gòu)等等。
獲取方式:點(diǎn)“在看”,關(guān)注公眾號(hào)并回復(fù)?Java?領(lǐng)取,更多內(nèi)容陸續(xù)奉上。
文章有幫助的話(huà),在看,轉(zhuǎn)發(fā)吧。
謝謝支持喲 (*^__^*)

