最近正在閱讀jdk源碼,首先在搭建閱讀jdk源碼過程中遇到了一些問題,在此分享一下自己的經驗,以供大家參考。
1.閱讀jdk源碼之前要先獲得jdk的源碼,大家可以在網上下載到jdk源碼,在此我提供另外一種簡單獲得jdk源碼的方式
做Java開發的大家都需要在本地安裝jdk,大家找到自己本地安裝jdk的目錄,里邊會有一個src.zip壓縮包,這個就是jdk源碼,大家可以拷出來進行解壓,解壓完成把壓縮包刪除,如下圖:
本地jdk安裝目錄下的src壓縮包
src解壓后的目錄結構
2.idea中新建一個簡單的Java項目,如下圖:
選擇Java,點擊next
勾選箭頭的勾選框,默認第一個選項點擊next
填寫自己的項目名,最后點finish
3.下邊就是把解壓過的jdk源碼導入自己新建的項目中,再新建一個test包,放自己的測試類,很簡單,不再一一截圖,最終項目結構如下圖:
此處是test類里內容
package com.company.test; import java.util.HashMap; public class Test { public static void main(String[] args) { HashMap hashMap = new HashMap<>(); hashMap.put("k1","v1"); hashMap.put("k2","v2"); hashMap.put("k3","v3"); hashMap.put("k4","v4"); hashMap.put("k5","v5"); hashMap.get("k2"); } }
4.下邊就是運行main方法了,在運行前中會報錯,強烈建議大家做完以下的操作:
(1).運行過程會報內存不夠的問題,所以要進行下邊操作:
打開File----settings 把1處的值改為1700,改完點擊apply,最后ok
(2).第二個報錯是部分代碼找不到包只需要把com\sun\java\swing\plaf\gtk這個包刪除就可以了
(3).第三個需要修改file----project Structure,打開下圖,點擊Libraries 點擊箭頭中的+號
點擊Java,選擇自己安裝jdk目錄中的lib,完成后如下圖右邊展示樣子
5.完成上邊操作,就可以運行main方法了,第一次編譯會很慢,請大家耐心等待
6.運行成功后,打斷點后,大家點擊F7可以進入jdk方法中,如果進入不了,可以進行以下操作:
(1).file-----settings找到以下Stepping,把1中的勾選去掉,去掉這個勾選是因為jdk在斷點下,不能直接進入jdk源碼中,去掉勾選按F7可以直接進入
(2).如果大家想在jdk源碼中加入自己的注釋,編碼等東西,有可能你沒法編輯本地的源碼,是因為你沒有導入本地jdk源碼,就是你解壓src出來的源碼,需要在進行以下操作:打開file----project structure點擊1處,再點擊2處,可能看到以前的jdk源碼路徑,需要點擊3處去掉,再點擊4處選擇你的解壓出來的jdk源碼,5處即使本人解壓出來的jdk源碼路徑,完后以上步驟就全部全部完成了。
結束語:以上就是本人搭建閱讀jdk源碼過程,下邊會持續更新自己學習源碼的歷程,不足之處,望大家指出,希望和大家共同進步。