怎么讀Java源碼

這篇文章主要講解了“怎么讀Java源碼”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“怎么讀Java源碼”吧!

讓客戶滿意是我們工作的目標(biāo),不斷超越客戶的期望值來自于我們對這個行業(yè)的熱愛。我們立志把好的技術(shù)通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領(lǐng)域值得信任、有價值的長期合作伙伴,公司提供的服務(wù)項目有:空間域名、虛擬空間、營銷軟件、網(wǎng)站建設(shè)、南沙網(wǎng)站維護、網(wǎng)站推廣。

1、建議從JDK源碼開始讀起,這個直接和eclipse集成,不需要任何配置。

可以從JDK的工具包開始,也就是我們學(xué)的《數(shù)據(jù)結(jié)構(gòu)和算法》Java版,如List接口和ArrayList、LinkedList實現(xiàn),HashMap和TreeMap等。這些數(shù)據(jù)結(jié)構(gòu)里也涉及到排序等算法,一舉兩得。

面試時,考官總喜歡問ArrayList和Vector的區(qū)別,你花10分鐘讀讀源碼,估計一輩子都忘不了。

然后是core包,也就是String、StringBuffer等。 如果你有一定的Java IO基礎(chǔ),那么不妨讀讀FileReader等類。

建議大家看看《Java In A Nutshell》,里面有整個Java IO的架構(gòu)圖。Java IO類庫,如果不理解其各接口和繼承關(guān)系,則閱讀始終是一頭霧水。

Java IO 包,我認(rèn)為是對繼承和接口運用得***雅的案例。如果你將來做架構(gòu)師,你一定會經(jīng)常和它打交道,如項目中部署和配置相關(guān)的核心類開發(fā)。

讀這些源碼時,只需要讀懂一些核心類即可,如和ArrayList類似的二三十個類,對于每一個類,也不一定要每個方法都讀懂。像String有些方法已經(jīng)到虛擬機層了(native方法),如hashCode方法。

當(dāng)然,如果有興趣,可以對照看看JRockit的源碼,同一套API,兩種實現(xiàn),很有意思的。

如果你再想鉆的話,不妨看看針對虛擬機的那套代碼,如System ClassLoader的原理,它不在JDK包里,JDK是基于它的。JDK的源碼Zip包只有10來M,它像是有50來M,Sun公司有下載的,不過很隱秘。我曾經(jīng)為自己找到、讀過它很興奮了一陣。

2、Java Web項目源碼閱讀

步驟:表結(jié)構(gòu) → web.xml → mvc → db → spring ioc → log→ 代碼

① 先了解項目數(shù)據(jù)庫的表結(jié)構(gòu),這個方面是最容易忘記的,有時候我們只顧著看每一個方法是怎么進行的,卻沒有去了解數(shù)據(jù)庫之間的主外鍵關(guān)聯(lián)。其實如果先了解數(shù)據(jù)庫表結(jié)構(gòu),再去看一個方法的實現(xiàn)會更加容易。

② 然后需要過一遍web.xml,知道項目中用到了什么攔截器,監(jiān)聽器,過濾器,擁有哪些配置文件。如果是攔截器,一般負(fù)責(zé)過濾請求,進行AOP等;如果是監(jiān)聽器,可能是定時任務(wù),初始化任務(wù);配置文件有如 使用了spring后的讀取mvc相關(guān),db相關(guān),service相關(guān),aop相關(guān)的文件。

③ 查看攔截器,監(jiān)聽器代碼,知道攔截了什么請求,這個類完成了怎樣的工作。有的人就是因為缺少了這一步,自己寫了一個action,配置文件也沒有寫錯,但是卻怎么調(diào)試也無法進入這個action,直到別人告訴他,請求被攔截了。

④ 接下來,看配置文件,首先一定是mvc相關(guān)的,如springmvc中,要請求哪些請求是靜態(tài)資源,使用了哪些view策略,controller注解放在哪個包下等。然后是db相關(guān)配置文件,看使用了什么數(shù)據(jù)庫,使用了什么orm框架,是否開啟了二級緩存,使用哪種產(chǎn)品作為二級緩存,事務(wù)管理的處理,需要掃描的實體類放在什么位置。***是spring核心的ioc功能相關(guān)的配置文件,知道接口與具體類的注入大致是怎樣的。當(dāng)然還有一些如apectj等的配置文件,也是在這個步驟中完成。

⑤ log相關(guān)文件,日志的各個級別是如何處理的,在哪些地方使用了log記錄日志。

⑥ 從上面幾點后知道了整個開源項目的整體框架,閱讀每個方法就不再那么難了。

⑦ 當(dāng)然如果有項目配套的開發(fā)文檔也是要閱讀的。

3、Java框架源碼閱讀

當(dāng)然了,就是Spring、MyBatis這類框架。

在讀Spring源碼前,一定要先看看《J2EE Design and Development》這本書,它是Spring的設(shè)計思路。注意,不是中文版,中文版完全被糟蹋了。

想要閱讀MyBatis的源碼就要先了解它的一些概念,否則云里來霧里去的什么也不懂。有很多人會選擇去買一些書籍來幫助閱讀,當(dāng)然這是可取的。那么如果不想的話,就可以去官網(wǎng)查看它的介紹。

感謝各位的閱讀,以上就是“怎么讀Java源碼”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對怎么讀Java源碼這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是創(chuàng)新互聯(lián),小編將為大家推送更多相關(guān)知識點的文章,歡迎關(guān)注!

網(wǎng)站題目:怎么讀Java源碼
當(dāng)前URL:http://muchs.cn/article24/ihedce.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制網(wǎng)站、外貿(mào)網(wǎng)站建設(shè)、網(wǎng)站維護網(wǎng)站建設(shè)、網(wǎng)站導(dǎo)航、企業(yè)建站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站優(yōu)化排名