來啊, 一起看遍JDK源碼

原創文章, 轉載請私信. 關注 tastejava 學習加思考, 仔細品味java之美

爲什麼要閱讀源碼

  1. 面試要考, 不管是什麼公司面試, 源碼相關知識點考察是少不了了, 例如ArrayList與LinkedList區別這樣的爛大街問題
  2. 開發要用, 肯定要很熟悉JDK常見api, 理解其內部實現和特點才能正確靈活的運用

怎麼閱讀源碼

經過一段時間的摸爬滾打, 我發現要想高效的閱讀源碼, 首先閱讀英文原始文檔的能力要強, 其次要熟練掌握所使用的IDE方法跳轉相關操作, 如實現類跳轉到接口, 接口跳轉到實現類, 方法跳轉到調用的地方, 直接跳轉到某一行等. 最後還需要善於利用搜索引擎, 有查閱資料的能力.

閱讀源碼面臨的問題

上面總結出來的是高效閱讀源碼需要具備的條件, 需要學會的方法. 然而在方法上能優化的空間就比較有限了, 閱讀源碼依舊面臨不少問題

  1. 比如由於JDK追求高效並且可靠, 所以裏面很多寫法含義是需要時間才能分析明白, 甚至需要查找一段時間資料才能解決某個問題.
  2. 又比如可能我們詞彙量是夠的, 但是由於語法原因依舊不能準確理解英文註釋含義, 大段的英文註釋確不知道哪是重點.

核心問題也就是好的方法能達到理解源碼的目的, 但是很難再優化節省時間, 提高效率

送給大家的禮物

這裏有一份開源項目, 是送給大家的禮物. 克隆一個倉庫, 經過少量的設置, 平時開發中想要了解源碼實現時, 點擊到JDK方法實現, 即可看到詳細的中文註釋, 再也不需要看到不懂的代碼時花費大量時間分析邏輯或者查詢資料. 項目地址如下:

https://github.com/gaozhilai/open-jdk1.8-analysis

項目基於openjdk1.8, 代碼範圍預計覆蓋掉java.utils以及java.lang包下的類, 目前從類的常見和重要程度逐步分析. 個人力量是有限的, 歡迎大家踊躍參與到項目中來, RRADME中詳細說明了參與方式, 歡迎大家PR, 讓我們一起成長, 一羣平凡的人也可以成就不平凡的事

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章