配置乙個可以動手改的JDK原始碼閱讀環境

2022-09-06 10:36:27 字數 1340 閱讀 9228

很多小夥伴閱讀jdk原始碼的時候不方便打斷點,不方便寫注釋,這篇隨筆記錄一下如何搭建乙個可以動的jdk原始碼閱讀環境。

先建乙個m**en或者j**a專案,都可以。

然後找到自己jdk的安裝位置下的src.zip

將src.zip解壓

將這些原始碼檔案拷到剛剛建立的專案包裡,在idea裡就可以看到這些原始碼了

然後我們開啟jdk設定,找到下圖位置 3 ,去掉勾選,這樣我們debug按f7就能進入原始碼區域了

接下來開啟project structure,找到sourcepath

選中選來的原始碼,然後點選"-",移除原來的原始碼位置配置

新增新的原始碼位置配置,先點選"+",找到剛剛拷貝過來的src包位置,然後點選ok

接下來我們可以自己寫乙個main或者用junit來對jdk原始碼進行debug了

執行方法的時候可能會編譯出錯,可以看看這篇部落格解決,但是我嫌麻煩直接把報錯的包刪掉了 - -

還有乙個錯誤是報系統資源不足,如下圖

解決方法如下:700不夠可以調大,改成1700就好啦

接下來我們可以一邊愉快的debug一邊寫注釋啦

jdk原始碼就按這個順序讀起來吧 lang->util->io->nio->math->time->net

乙個線代的問題

在 kaoyan a u ready?的大作中提到 是99年試題 a是乙個二階方陣,試證 如果有矩陣b使得ab ba a,則a 2 0 發信人 researchmonk 蟄伏中.信區 kaoyan 標 題 re cs 乙個線代的問題 發信站 北大未名站 2003年01月05日09 47 01 星期天...

動手寫乙個簡單的promise

promise 是非同步程式設計的一種解決方案,比傳統的解決方案 函式和事件 更合理和更強大。它由社群最早提出和實現,es6 將其寫進了語言標準,統一了用法,原生提供了promise物件。所謂promise,簡單說就是乙個容器,裡面儲存著某個未來才會結束的事件 通常是乙個非同步操作 的結果。從語法上...

自己動手實現乙個簡單的React

為了更好的理解react,我決定讀preact的原始碼,preact是乙個非常小的框架,同時也和react的實現原理以及api一樣,幾乎可以很好代替react。雖然還是有一些差異的。但是使用的時候幾乎不會有什麼違和感。看原始碼總是不夠過癮,於是做了乙個偉大的決定就是自己親手去寫乙個react,畢竟p...