優秀的開源組件官方都會維護文檔和架構圖,這份架構圖上或許有一些最重要的組件之間的關聯關係、或許哪些功能的調用流程、或許有一些別的東西,可是相信我,這些東西必定都是從整體來描述這個項目的,這個必定是你要閱讀源碼時第一個要看的面試
下載下來代碼以後,不要急着開始。先看一下各個包名和包裏的類名,對照着文檔和類名先簡單猜一下各個類的大體做用segmentfault
閱讀源碼不單單是閱讀,要讓項目跑起來,去調試它,去觀察和改變它的運行路線架構
不少人都想閱讀源碼,可是面對龐大的代碼庫不知道如何下手。這個時候你就要明確你的目標。
能夠從啓動方法開始、也能夠從具體的哪一個功能開始。總之要找到你的起點工具
一個優秀的開源軟件老是通過了不少工程師不少年的努力孵化出來的,你去閱讀它的時候很難把整個軟件所有都整明白。因此必定要認準本身的目標,朝着本身的目標去讀,當過程當中出現一些不過重要的分枝時能夠適當的忽略來節約時間spa
好記性不如爛筆頭,咱們從小就知道的一句話。包括卻不限於筆記、流程圖、截圖等任何你擅長的工具,把它記下來。另外,最好總結一下重點部分方便麪試的時候快速複習debug
快捷鍵:Ctrl+H
調試
優秀的源碼每每調用層級很深,當你debug到某個點卻忘掉了怎麼進來的或者說不知道哪一個地方調用了這個方法,只須要在方法名上使用Ctrl +Alt+H
便可查看這個方法的調用層級code
當使用Ctrl +Alt+Shift+u
會在新的標籤頁中展現當前類的UML繼承圖
這個繼承圖相比較於第一個查看類的繼承體系外還有如下優勢:blog
Ctrl +Alt+u
在當前標籤頁浮動顯示一個圖層當你在Debug的時候可使用Alt+F8
喚起這個界面
在這個輸入框中,你能夠直接修改當前可以看到的變量,當存在如下場景時這個功能真的是絕配繼承
記住上方這7點,相信你會變得更加優秀,而我則使用這7點在一個月的時間閱讀了Spring的源碼Spring源碼解析系列彙總