前言
閱讀源碼的習慣記得是從12年開始的。源碼閱讀對提升開發能力,熟悉他人代碼與設計,技術成長,問題解決,我的自信有極大的益處。源碼閱讀是一件很是困難的事情。 爲何會去源碼閱讀,怎麼源碼閱讀。給你們講解個人精力前端
第一階段 爲了面試去閱讀源碼(2012年)
面試的時候常常技術細節方面的問題
- ArrayList,LinkedListde,Vector的區別,初始化大小,擴容大小。
- List,Set,Map的區別
- 等等這裏問題
當時只是爲了面試去看,看的地方只是面試須要的地方 源碼範圍也在java apijava
第二階段 爲了解決基本開發問題(2013年上半年)
迭代HashMap的時候,沒法作其餘操做。
當是並不知曉ConcurrentHashMap的存在。面試
第三階段 爲了解決開發過程當中沒法正確使用框架的問題(2013年下半年,2014,2015年)
把mina集成到spring裏面。
- 集成不進入
- mina流程問題
經過debug方式,閱讀源碼以逸待勞的解決了spring
第四階段 爲了深刻了解軟件,解決深層次技術與架構問題
- JavaScript是一個很飄逸的語言,JavaScript的框架更加飄逸。尤爲是angluar。可是angluar是一個優秀的前端框架,他的生態圈也十分完善。是後臺管理系統重要支柱。常常出現依賴報錯,都不知道問題出在哪裏,有些問題莫名其妙就出現了。
經歷一個月不停的看源碼,終於把angluar的核心看完了。知道angluar個個模塊之間的組合,依賴,如何在不一樣層次優化angluar,管理,架構設計。api
- rocketMQ是消息中間件中安全性與穩定性最優秀的消息中間件。因此在選擇消息中間件的時候,直接選擇了rocketMQ。一樣遇到問題,什麼是消息中間件,pull與push模式的區別是什麼等等問題出現使用rocketMQ的過程當中。若是對rocketMQ性能調優,大集羣狀況下如何處理等等架構與性能問題也出如今眼前。經過閱讀源碼這些問題都不在問題了。只有如何落地,如何設計得更好了。
源碼面前了無祕密
當你把源碼看完,看懂,明白因此然的時候,發現不過如此,也就這樣。只是本身寫不出而已。可是能夠微調,在一些不難的地方按照本身的需求進行修改或者維護。安全
學會了不少設計與開發技巧,編碼方式,提升了本身設計,開發,編碼的技能