java工程師都是怎么學習一個新的框架的?
首先你得明白框架這個詞,打個比方,你去趕集買東西,日用品買一些能拿,蔬菜,衣服再買了一大堆,單憑兩只手肯定是拿不了的,所以你需要一個框,裝下你所有的東西,滿足你的需求!
JAVA框架也是一樣的,都是我們在開發經歷了陣痛之后總結出來的,實現某種特定功能的架構。比如說spring用來管理對象,用來解耦,mybatis用的代替jdbc等等這些!
那么我們怎么學好一個JAVA框架呢?
1,先明白自己急需解決的是什么?學習框架之前你一定得有這個需求,不然學了白學,而且不經實踐,免不了學過就忘!
比如我們就是需要一個sql監控工具,那么我們可以選擇druid,提供頁面化的監控,能分析sql的執行次數,耗時等指標,幫助提升體統的并發能力!
或者我們覺得jdbc太難寫,我們需要封裝好工具,那么mybatis,hibernate都可以是我們的選擇!
2,想明白這個框架能做什么事?要明白這個框架設計的初衷,為什么能解決需要解決的問題!比如nginx為什么能處理大量的連接,底層使用的模型為什么用epoll,怎么實現的負載均衡?
3,怎么使用這個框架?框架都是為了使用的,是簡單配置還是需要實現接口,怎么擴展?比如springboot,我們引入jar包,少許配置就能使用,能實現快速開發與部署,能輕松集成服務注冊與發現,安全驗證等,那么怎么加入別的組件?怎么加入日志?怎么接入測試框架?
4,深入底層:會用還不行,應該知道它怎么運行的,比如spring如何控制反轉,怎么管理對象(無外乎都是用配置,解析,對象注冊,保存在hashMap等基本的數據結構中,在使用的get出來即可)!抓住一條主線,深入分析整個系統架構!
5,如何優化框架?框架是別人寫的代碼,是代碼就有優化的空間,根據自己的需求開發屬于自己的框架,比如緩存就有memcache,redis,ehcache等等,各有優缺點!
寫在最后,框架其實就是一些功能封裝,我曾經在面試的時候,被面試官問了一句話:你學了那么多框架,有哪個是所有功能都需要的?確實,可能定制自己的框架才是最好的選擇吧!