精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

帶你一起學(xué)習(xí)如何閱讀Java源碼?

開(kāi)發(fā) 后端
在閱讀源碼之前,我們要有一定程度的技術(shù)基礎(chǔ)的支持。假如你從來(lái)都沒(méi)有學(xué)過(guò)Java,也沒(méi)有其它編程語(yǔ)言的基礎(chǔ),上來(lái)就啃《Core Java》,那樣是很難有收獲的,尤其是《深入Java虛擬機(jī)》這類書(shū),或許別人覺(jué)得好,但是未必適合現(xiàn)在的你。

[[238477]]

閱讀Java源碼的前提條件:

1、技術(shù)基礎(chǔ)

在閱讀源碼之前,我們要有一定程度的技術(shù)基礎(chǔ)的支持。

假如你從來(lái)都沒(méi)有學(xué)過(guò)Java,也沒(méi)有其它編程語(yǔ)言的基礎(chǔ),上來(lái)就啃《Core Java》,那樣是很難有收獲的,尤其是《深入Java虛擬機(jī)》這類書(shū),或許別人覺(jué)得好,但是未必適合現(xiàn)在的你。

比如設(shè)計(jì)模式,許多Java源碼當(dāng)中都會(huì)涉及到。再比如閱讀Spring源碼的時(shí)候,勢(shì)必要先對(duì)IOC,AOP,Java動(dòng)態(tài)代理等知識(shí)點(diǎn)有所了解。

2、強(qiáng)烈的求知欲

強(qiáng)烈的求知欲是閱讀源碼的核心動(dòng)力!

大多數(shù)程序員的學(xué)習(xí)態(tài)度分為如下幾個(gè)層次:

  • 完成自己的項(xiàng)目就可以了,遇到不懂的地方就百度一下。
  • 不僅做好項(xiàng)目,還會(huì)去閱讀一些和項(xiàng)目有關(guān)的書(shū)籍。
  • 除了閱讀和項(xiàng)目相關(guān)的書(shū)籍之外,還會(huì)閱讀一些IT行業(yè)相關(guān)的書(shū)籍。
  • 平時(shí)會(huì)經(jīng)常逛逛GitHub,找一些開(kāi)源項(xiàng)目看看。
  • 閱讀基礎(chǔ)框架、J2EE規(guī)范、源碼。

大多數(shù)程序員的層次都是在***層,到第五層的人就需要有強(qiáng)烈的求知欲了。

3、足夠的耐心

通過(guò)閱讀源碼我們可以學(xué)習(xí)大佬的設(shè)計(jì)思路,技巧。還可以把我們一些零碎的知識(shí)點(diǎn)整合起來(lái),從而融會(huì)貫通。總之閱讀源碼的好處多多,想必大家也清楚。

但是真的把那么龐大復(fù)雜的代碼放到你的眼前時(shí),肯定會(huì)在閱讀的過(guò)程中卡住,就如同陷入了一個(gè)巨大的迷宮,如果想要在這個(gè)巨大的迷宮中找到一條出路,那就需要把整個(gè)迷宮的整體結(jié)構(gòu)弄清楚,比如:API結(jié)構(gòu)、框架的設(shè)計(jì)圖。而且還有理解它的核心思想,確實(shí)很不容易。

剛開(kāi)始閱讀源碼的時(shí)候肯定會(huì)很痛苦,所以,沒(méi)有足夠的耐心是萬(wàn)萬(wàn)不行的。

如何讀Java源碼:

團(tuán)長(zhǎng)也是經(jīng)歷過(guò)閱讀源碼種種痛苦的人,算是有一些成功的經(jīng)驗(yàn)吧,今天來(lái)給大家分享一下。

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

1、建議從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等。 如果你有一定的Java IO基礎(chǔ),那么不妨讀讀FileReader等類。

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

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

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

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

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

2、Java Web項(xiàng)目源碼閱讀

步驟:表結(jié)構(gòu) → web.xml → mvc → db → spring ioc → 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è)類完成了怎樣的工作。有的人就是因?yàn)槿鄙倭诉@一步,自己寫了一個(gè)action,配置文件也沒(méi)有寫錯(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í)體類放在什么位置。***是spring核心的ioc功能相關(guān)的配置文件,知道接口與具體類的注入大致是怎樣的。當(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ā)文檔也是要閱讀的。

3、Java框架源碼閱讀

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

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

想要閱讀MyBatis的源碼就要先了解它的一些概念,否則云里來(lái)霧里去的什么也不懂。有很多人會(huì)選擇去買一些書(shū)籍來(lái)幫助閱讀,當(dāng)然這是可取的。那么如果不想的話,就可以去官網(wǎng)查看它的介紹(MyBatis網(wǎng)站:http://www.mybatis.org/mybatis-3/zh/getting-started.html),團(tuán)長(zhǎng)也是按照官網(wǎng)上面的介紹來(lái)進(jìn)行源碼閱讀的。團(tuán)長(zhǎng)認(rèn)為MyBatis的亮點(diǎn)就是管理SQL語(yǔ)句。

總結(jié)

沒(méi)有人一開(kāi)始就可以看得懂那些源碼,我們都是從0開(kāi)始的,而且沒(méi)有什么捷徑可尋,無(wú)非就是看我們誰(shuí)愿意花時(shí)間去研究,誰(shuí)的求知欲更強(qiáng)烈,誰(shuí)更有耐心。閱讀源碼的過(guò)程中我們的能力肯定會(huì)提升,可以從中學(xué)到很多東西。在我們做項(xiàng)目的時(shí)候就會(huì)體現(xiàn)出來(lái)了,的確會(huì)比以前順手很多。 

責(zé)任編輯:龐桂玉 來(lái)源: Java團(tuán)長(zhǎng)
相關(guān)推薦

2018-05-22 14:34:50

編譯Linux內(nèi)核

2022-02-14 10:16:22

Axios接口HTTP

2023-11-29 12:09:07

AWS網(wǎng)絡(luò)服務(wù)

2011-04-22 14:14:21

MySQL偷窺線程

2013-01-30 10:15:22

移動(dòng)閱讀移動(dòng)應(yīng)用平臺(tái)

2017-11-15 08:50:59

數(shù)據(jù)庫(kù)MySQL執(zhí)

2021-05-19 10:37:16

WebFlux 前置工具

2023-06-26 15:14:19

WebGL紋理對(duì)象學(xué)習(xí)

2010-04-01 13:58:16

WinCE 6.0Cashmere

2023-03-28 07:32:37

2024-09-11 09:25:00

2023-03-26 12:45:52

Linux內(nèi)核頭文件

2024-02-23 10:25:33

Kubernetes自動(dòng)擴(kuò)縮容工作負(fù)載

2015-08-21 09:48:11

女朋友編程學(xué)習(xí)編程

2021-11-26 09:44:42

鏈表節(jié)點(diǎn)定位

2021-05-20 07:15:34

RSA-PSS算法簽名

2022-12-01 09:59:57

內(nèi)核觀測(cè)性方法

2018-11-16 16:35:19

Java源碼編程語(yǔ)言

2024-10-09 08:42:03

2020-02-11 12:41:16

Pandas數(shù)據(jù)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

深夜福利在线观看直播| 一区二区三区视频免费看| 久久一级大片| 精品久久久久久中文字幕| 精品在线不卡| 国产精品高潮呻吟AV无码| 狠狠久久婷婷| 亚洲色图第三页| 一级黄色在线播放| 欧美日韩国产观看视频| 综合自拍亚洲综合图不卡区| 极品尤物一区二区三区| 一个人看的www日本高清视频| 亚洲午夜视频| 中文字幕欧美专区| 黄色网址在线视频| 国产aa精品| 日本精品视频一区二区| 免费看日本黄色| 国产日产精品久久久久久婷婷| 粉嫩一区二区三区在线看| 国产精品欧美一区二区| 久久艹免费视频| 午夜日韩av| 日韩综合中文字幕| 久久久久久久久久久国产精品| 成人网av.com/| 欧美性猛交一区二区三区精品| 欧美视频免费看欧美视频| 日本成人在线播放| 欧美国产一区在线| 久久精品丝袜高跟鞋| 999精品国产| 麻豆一区二区三| 日韩av免费网站| 亚洲精品国产精品乱码| 欧美特黄一级| 色老头一区二区三区在线观看| aaaaaav| 高清精品xnxxcom| 欧美一区二区三区爱爱| www.se五月| www.一区| 欧美日韩国产高清一区二区| 欧美黄色一级片视频| 欧美激情护士| 日韩欧美国产视频| 日本一区二区黄色| 澳门成人av网| 色婷婷激情综合| 茄子视频成人免费观看| 免费h视频在线观看| 午夜欧美2019年伦理| 2018中文字幕第一页| wwwww亚洲| 亚洲国产视频一区| www.日本少妇| 华人av在线| 欧美日韩免费看| aaaaaa亚洲| 日韩漫画puputoon| 欧美日韩激情一区二区三区| 日本三级黄色网址| 国产成人免费av一区二区午夜 | 亚洲视频视频在线| 亚洲av无码一区二区三区人 | 一二三区免费视频| 视频一区二区中文字幕| 国产精品免费久久久久久| 中文字幕有码视频| 国产一区在线观看视频| 北条麻妃高清一区| 无码国产色欲xxxx视频| 久久久国产综合精品女国产盗摄| 欧美一级二级三级九九九| 大片免费播放在线视频| 国产精品福利电影一区二区三区四区| 99亚洲精品视频| 久草在线视频福利| 欧美天天综合色影久久精品| 午夜宅男在线视频| 香蕉大人久久国产成人av| 亚洲精品久久久久久久久久久久久| 影音先锋人妻啪啪av资源网站| 网红女主播少妇精品视频| 在线看欧美日韩| 青春草免费视频| 亚洲欧美日韩一区在线观看| 国产裸体写真av一区二区| 国产后入清纯学生妹| 91麻豆国产福利精品| 一区二区视频在线观看| 国产福利电影在线播放| 欧美视频精品在线| 91超薄肉色丝袜交足高跟凉鞋| 天堂在线精品| 久热精品视频在线免费观看 | 亚洲精品乱码| 国产精品亚洲视频在线观看 | 中文一区二区视频| 欧美日韩免费一区二区| 视频一区二区欧美| 国产伦精品一区二区三区高清版 | 欧美成人精品三级在线观看| 国产在线观看黄色| 国产麻豆精品theporn| 欧美不卡1区2区3区| av网址在线看| 在线亚洲人成电影网站色www| 免费看的av网站| 精品日韩一区| 欧美一性一乱一交一视频| 97精品人妻一区二区三区香蕉| 99久久综合狠狠综合久久| 国产成人精品免费看在线播放| 涩涩视频在线免费看| 日韩欧美成人午夜| 亚洲欧洲综合网| 久久99伊人| 精品国产91亚洲一区二区三区www| 免费在线观看黄| 在线看国产一区| 亚洲av成人无码一二三在线观看| 在线中文字幕亚洲| 国产精品午夜一区二区欲梦| 天天干天天做天天操| 亚洲精品国产高清久久伦理二区| 一路向西2在线观看| 免费一区二区| 97视频在线播放| 亚洲不卡免费视频| 亚洲欧美日韩在线播放| 日本激情综合网| 国产精品欧美日韩一区| 欧美性受xxxx黑人猛交| 老熟妇高潮一区二区高清视频| 亚洲久本草在线中文字幕| 日韩中文字幕a| 青青草成人影院| 国产精品白嫩初高中害羞小美女| 日本一区高清| 一本久道中文字幕精品亚洲嫩 | 国产精品久久久久一区二区三区| 99免费视频观看| 蜜桃精品wwwmitaows| 欧美一级视频在线观看| 色视频在线看| 色综合色狠狠综合色| 天天躁日日躁aaaxxⅹ| 亚洲制服av| 欧美日韩视频在线一区二区观看视频| 午夜伦理福利在线| 亚洲色图17p| 中日韩在线观看视频| 国产精品色呦呦| 中文字幕有码av| 羞羞答答成人影院www| 91观看网站| 欧美一卡二卡| 日韩成人小视频| 欧美成人一区二区三区四区| 国产亲近乱来精品视频| 粉色视频免费看| 91精品在线观看国产| 99中文字幕| а√天堂中文在线资源8| 亚洲免费电影一区| 日本三级一区二区三区| 亚洲视频网在线直播| 韩国一区二区三区四区| 亚洲精品看片| 丝袜美腿玉足3d专区一区| 日韩欧美三区| 欧美国产日韩免费| 欧美在线观看在线观看| 欧美日韩一区二区三区不卡| 老女人性淫交视频| 99久久国产综合精品女不卡| 欧美日韩大尺度| 午夜精品网站| 久久综合九色99| 欧美日韩视频免费看| 欧美日韩国产成人在线观看| 亚洲 国产 欧美 日韩| 欧美色图免费看| 国产在线一区视频| 亚洲国产电影在线观看| 爱情岛论坛亚洲自拍| 亚洲一区二区毛片| 中文字幕中文字幕在线中一区高清 | 国产一区二区三区成人欧美日韩在线观看 | 亚洲欧洲日韩av| 最新版天堂资源在线| 日韩高清电影一区| 中文字幕日韩精品无码内射| 羞羞答答一区二区| 91成人免费看| 成人国产激情在线| 国产+成+人+亚洲欧洲| 91欧美在线视频| 亚洲激情第一页| 国产精品视频一二区| 色综合亚洲欧洲| 九九久久免费视频| 国产精品伦理在线| 激情综合丁香五月| 国产精品18久久久久久久久久久久| 欧美国产激情视频| 伊人蜜桃色噜噜激情综合| 伊人久久av导航| 自拍偷拍欧美一区| 成人综合av网| 四虎国产精品免费久久5151| 欧洲成人性视频| 福利成人导航| 欧美xxxx18性欧美| 香蕉视频在线播放| 亚洲午夜av电影| 五月婷婷在线观看视频| 欧美一区二区三区视频免费播放| 黄色一级视频免费看| 亚洲线精品一区二区三区八戒| 免费一级suv好看的国产网站| 99re热这里只有精品视频| 俄罗斯女人裸体性做爰| 久久99久久99| 欧美日韩大尺度| 久久精品123| 免费在线观看亚洲视频 | 中国丰满人妻videoshd| 韩国一区二区三区在线观看| 日本一道在线观看| 国产韩日影视精品| 亚洲精品国产一区| 精品美女视频| 水蜜桃亚洲精品| 国产va免费精品观看精品视频| 国产视频99| 国产精品乱战久久久| 成人黄色片视频网站| 国产精品日韩精品在线播放| 成人免费网站在线看| 国产第一精品| 成人av.网址在线网站| 日韩成人在线一区| 成人av番号网| 久久爱www.| 成人国产一区二区| 国产精品网站在线看| 国产伦精品一区二区三区四区视频 | 亚洲第一精品久久忘忧草社区| а√天堂资源在线| 精品欧美一区二区在线观看| 亚洲第一成年人网站| 亚洲аv电影天堂网| 性高潮久久久久久久久久| 亚洲精品v天堂中文字幕| 天天在线女人的天堂视频| 精品视频在线播放| 成人免费在线电影| 色老头一区二区三区在线观看| 黄色精品在线观看| 欧美黑人xxxx| 中文av在线全新| 国产精品久久久久久久9999| 婷婷久久综合九色综合99蜜桃| 成人免费午夜电影| 风间由美一区二区av101 | 91精品国产自产在线| **欧美日韩在线| 99电影网电视剧在线观看| 国产一区二区在线视频你懂的| 久久久免费看| 四虎国产精品免费观看| 欧美日韩dvd| 亚洲永久字幕| 亚洲无在线观看| 成人午夜又粗又硬又大| 天天躁日日躁aaaa视频| 中文字幕一区二区三区乱码在线 | 一本一本久久a久久精品综合麻豆 一本一道波多野结衣一区二区 | 日韩成人av免费| 成人性视频免费网站| 色噜噜日韩精品欧美一区二区| 国产精品国模大尺度视频| 青娱乐国产在线| 色综合天天视频在线观看| 国产精品系列视频| 日韩av一区在线| 蜜芽在线免费观看| 欧美最近摘花xxxx摘花| 亚洲热av色在线播放| 精品久久中出| 99久久99久久精品国产片桃花| 久久综合久久网| 久久99国产精品麻豆| 国产一级伦理片| 自拍偷拍国产精品| 免费看污视频的网站| 日韩一区二区三区免费观看| 免费一级在线观看播放网址| 久久99精品久久久久久琪琪| 亚洲天堂一区二区| 国产精华一区| 无码一区二区三区视频| 亚洲中文字幕无码不卡电影| 国产一二精品视频| 少妇精品无码一区二区免费视频| 亚洲美女屁股眼交| 日本一本在线观看| 亚洲国产美女精品久久久久∴| 日本蜜桃在线观看| 国产国产精品人在线视| 超碰在线亚洲| 中文字幕一区二区三区四区五区人| 午夜一区不卡| 91九色蝌蚪porny| 亚洲啪啪综合av一区二区三区| 久久亚洲精品石原莉奈| 日韩高清中文字幕| 51精品在线| av一区二区在线看| 亚洲女同中文字幕| 性欧美在线视频| 欧美国产一区在线| 伊人久久中文字幕| 亚洲色图狂野欧美| 欧美巨大丰满猛性社交| 狠狠色综合欧美激情| 亚洲香蕉网站| 成人免费看片载| 亚洲中国最大av网站| 99er热精品视频| 美女精品视频一区| 欧美第一在线视频| 成人手机在线播放| 国产一区二区三区av电影| 娇小11一12╳yⅹ╳毛片| 欧美日韩视频第一区| www黄在线观看| 国产欧美日韩亚洲精品| 成人激情在线| 色婷婷成人在线| 国产精品每日更新| 亚洲性生活大片| 日韩视频免费在线观看| 先锋影音网一区二区| 亚洲欧洲精品一区二区| 久久99热国产| 青娱乐国产盛宴| 亚洲精品成人久久| 国产精品伦理| 亚洲成人18| 国模娜娜一区二区三区| 欧美日韩免费一区二区| 亚洲高清色综合| xxx欧美xxx| 伊人久久av导航| 国产成人免费视频| 日本一区二区欧美| 国产视频精品免费播放| 欧美专区福利免费| 亚洲国产一区二区精品视频 | a√中文在线观看| 精品免费视频123区| 美女尤物久久精品| 久久久99999| 欧美mv和日韩mv的网站| 国产传媒在线| 亚洲精品欧洲精品| 国产福利电影一区二区三区| 91蜜桃视频在线观看| 国产亚洲视频在线观看| 91精品麻豆| av在线播放亚洲| 日本一区二区高清| 精品久久久久成人码免费动漫| 国内揄拍国内精品| 日本一区二区免费高清| 国产成人av免费观看| 日韩欧美在线网址| www在线观看播放免费视频日本| 国产精品夜夜夜一区二区三区尤| 久久综合网络一区二区| 午夜精品一区二区三区视频| 亚洲激情在线观看视频免费| 无人区在线高清完整免费版 一区二| 最近中文字幕免费mv| 9色porny自拍视频一区二区| 中文在线免费看视频| 久久久久久com| 成人区精品一区二区婷婷| 麻豆精品国产传媒| 色天使色偷偷av一区二区| 99在线播放| 日韩影视精品| av亚洲精华国产精华| 一级全黄裸体免费视频| 91精品91久久久久久| 91精品一区二区三区综合在线爱 |