1.查閱資料
可以先查看網絡博客,參考前輩的心得體會進行閱讀。
2.理清主要流程
先理清整體的架構設計,執行順序。
比如線程池ThreadPoolExecutor,主要的流程是 execute() –> addWorker() –>runworker() 。
可以依此順序進行閱讀。
3.捉重點,閱讀主要的類/方法。
先從常用的api入手,比如用於實例化的構造方法,經常調用的方法等。
比如閱讀ArrayList源碼,可以先看構造方法ArrayList(),然后再看增刪改查。。add()方法,再看get()方法、set()、remove()等等。
也可以結合面試題,比如面試經常會問線程池ThreadPoolExecutor構造方法,newCacheThreadPoolExecutor等有哪些參數,可以着重看下。
查看類之間的關系,可以用IDEA的Diagram。
查看類的整體屬性和方法,可以用IDEA的Structure,或者Eclipse的outline。
4.動手實踐
一邊看,一邊寫注釋,還要多動手調試。還可以進行單元測試。
5.帶着疑問閱讀。
遇到不懂的就先思考再搜索,小到屬性的含義,方法的具體實現。又或者是一個異常處理,一個簡單的關鍵字、修飾符。
6.熟悉設計模式
可以邊讀源碼 ,邊熟悉設計模式,理解編程思想。
jdk中對應的設計模式見:http://blog.csdn.net/gtuu0123/article/details/6114197
參考資料: