更新時間:2020-02-28 10:33:40 來源:動力節點 瀏覽2272次
如何讀Java源碼:
如果你已經有了一年左右的Java開發經驗的話,那么你就有閱讀Java源碼的技術基礎了。
一、建議從JDK源碼開始讀起,這個直接和eclipse集成,不需要任何配置。
可以從JDK的工具包開始,也就是我們學的《數據結構和算法》Java版,如List接口和ArrayList、LinkedList實現,HashMap和TreeMap等。這些數據結構里也涉及到排序等算法,一舉兩得。
面試時,考官總喜歡問ArrayList和Vector的區別,你花10分鐘讀讀源碼,估計一輩子都忘不了。
然后是core包,也就是String、StringBuffer等。如果你有一定的JavaIO基礎,那么不妨讀讀FileReader等類。
建議大家看看《JavaInANutshell》,里面有整個JavaIO的架構圖。JavaIO類庫,如果不理解其各接口和繼承關系,則閱讀始終是一頭霧水。
JavaIO包,我認為是對繼承和接口運用得最優雅的案例。如果你將來做架構師,你一定會經常和它打交道,如項目中部署和配置相關的核心類開發。
讀這些源碼時,只需要讀懂一些核心類即可,如和ArrayList類似的二三十個類,對于每一個類,也不一定要每個方法都讀懂。像String有些方法已經到虛擬機層了(native方法),如hashCode方法。
當然,如果有興趣,可以對照看看JRockit的源碼,同一套API,兩種實現,很有意思的。
如果你再想鉆的話,不妨看看針對虛擬機的那套代碼,如SystemClassLoader的原理,它不在JDK包里,JDK是基于它的。JDK的源碼Zip包只有10來M,它像是有50來M,Sun公司有下載的,不過很隱秘。我曾經為自己找到、讀過它很興奮了一陣。
二、JavaWeb項目源碼閱讀
步驟:表結構→web.xml→mvc→db→springioc→log→代碼
先了解項目數據庫的表結構,這個方面是最容易忘記的,有時候我們只顧著看每一個方法是怎么進行的,卻沒有去了解數據庫之間的主外鍵關聯。其實如果先了解數據庫表結構,再去看一個方法的實現會更加容易。
然后需要過一遍web.xml,知道項目中用到了什么攔截器,監聽器,過濾器,擁有哪些配置文件。如果是攔截器,一般負責過濾請求,進行AOP等;如果是監聽器,可能是定時任務,初始化任務;配置文件有如使用了spring后的讀取mvc相關,db相關,service相關,aop相關的文件。
查看攔截器,監聽器代碼,知道攔截了什么請求,這個類完成了怎樣的工作。有的人就是因為缺少了這一步,自己寫了一個action,配置文件也沒有寫錯,但是卻怎么調試也無法進入這個action,直到別人告訴他,請求被攔截了。
接下來,看配置文件,首先一定是mvc相關的,如springmvc中,要請求哪些請求是靜態資源,使用了哪些view策略,controller注解放在哪個包下等。然后是db相關配置文件,看使用了什么數據庫,使用了什么orm框架,是否開啟了二級緩存,使用哪種產品作為二級緩存,事務管理的處理,需要掃描的實體類放在什么位置。最后是spring核心的ioc功能相關的配置文件,知道接口與具體類的注入大致是怎樣的。當然還有一些如apectj等的配置文件,也是在這個步驟中完成。
log相關文件,日志的各個級別是如何處理的,在哪些地方使用了log記錄日志。
從上面幾點后知道了整個開源項目的整體框架,閱讀每個方法就不再那么難了。
當然如果有項目配套的開發文檔也是要閱讀的。
以上就是動力節點Java培訓機構小編介紹的“Javaweb源碼講解視頻:如何閱讀Java源碼”的內容,希望對大家有幫助,如有疑問,請在線咨詢,有專業老師隨時為你服務。
0基礎 0學費 15天面授
有基礎 直達就業
業余時間 高薪轉行
工作1~3年,加薪神器
工作3~5年,晉升架構
提交申請后,顧問老師會電話與您溝通安排學習