大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

專(zhuān)注Java教育14年 全國(guó)咨詢(xún)/投訴熱線:400-8080-105
動(dòng)力節(jié)點(diǎn)LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁(yè) 學(xué)習(xí)攻略 Java學(xué)習(xí) Javaweb源碼講解視頻:如何閱讀Java源碼

Javaweb源碼講解視頻:如何閱讀Java源碼

更新時(shí)間:2020-02-28 10:33:40 來(lái)源:動(dòng)力節(jié)點(diǎn) 瀏覽2376次


  如何讀Java源碼:


  如果你已經(jīng)有了一年左右的Java開(kāi)發(fā)經(jīng)驗(yàn)的話,那么你就有閱讀Java源碼的技術(shù)基礎(chǔ)了。


Javaweb源碼講解視頻:如何閱讀Java源碼


  一、建議從JDK源碼開(kāi)始讀起,這個(gè)直接和eclipse集成,不需要任何配置。


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


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


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


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


  JavaIO包,我認(rèn)為是對(duì)繼承和接口運(yùn)用得最優(yōu)雅的案例。如果你將來(lái)做架構(gòu)師,你一定會(huì)經(jīng)常和它打交道,如項(xiàng)目中部署和配置相關(guān)的核心類(lèi)開(kāi)發(fā)。


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


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


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


  二、JavaWeb項(xiàng)目源碼閱讀


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


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


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


  查看攔截器,監(jiān)聽(tīng)器代碼,知道攔截了什么請(qǐng)求,這個(gè)類(lèi)完成了怎樣的工作。有的人就是因?yàn)槿鄙倭诉@一步,自己寫(xiě)了一個(gè)action,配置文件也沒(méi)有寫(xiě)錯(cuò),但是卻怎么調(diào)試也無(wú)法進(jìn)入這個(gè)action,直到別人告訴他,請(qǐng)求被攔截了。


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


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


  從上面幾點(diǎn)后知道了整個(gè)開(kāi)源項(xiàng)目的整體框架,閱讀每個(gè)方法就不再那么難了。


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


Javaweb源碼講解視頻:如何閱讀Java源碼


      以上就是動(dòng)力節(jié)點(diǎn)Java培訓(xùn)機(jī)構(gòu)小編介紹的“Javaweb源碼講解視頻:如何閱讀Java源碼”的內(nèi)容,希望對(duì)大家有幫助,如有疑問(wèn),請(qǐng)?jiān)诰€咨詢(xún),有專(zhuān)業(yè)老師隨時(shí)為你服務(wù)。


提交申請(qǐng)后,顧問(wèn)老師會(huì)電話與您溝通安排學(xué)習(xí)

免費(fèi)課程推薦 >>
技術(shù)文檔推薦 >>
主站蜘蛛池模板: 天天干天天摸天天操 | www国产永久免费视频看看 | 九九在线观看免费视频 | 91久久夜色精品国产九色 | 国产com| 色天天综合久久久久综合片 | 精品成人在线观看 | 欧美一级爱操视频 | 97精品伊人 | 香蕉视频网站 | 日韩精品一区二区三区 在线观看 | m3u8久久国产精品影院 | 亚洲精品一区henhen色 | 国产综合久久一区二区三区 | 毛片一级免费 | 国产激情一区二区三区在线观看 | 欧美日本视频在线观看 | 久久精品大片 | 在线视频一二三区2021不卡 | 一级毛片一级毛片a毛片欧美 | 欧美激情精品久久久久 | 蜜月tv| 一本久道久综合久久鬼色 | 愉拍自拍视频在线播放 | 日韩免费观看一级毛片看看 | 亚洲成a人v在线观看 | 国产一区亚洲欧美成人 | 国产一级特黄aaaa大片野外 | 欧美精品亚洲一区二区在线播放 | 2018天天操天天干 | 国产欧美在线播放 | 涩涩免费播放观看在线视频 | 亚洲国产精品一区二区久久 | 免费福利在线视频 | 久久一精品 | 精品福利在线 | 午夜精品久久久久久久 | 四虎综合九九色九九综合色 | 欧洲成人全免费视频网站 | 国产成人久视频免费 | 成人网久久 |