最近有朋友問我應該怎么學習java相關的技術成為一個開發工程師,所以就把自己的想法建議共享下。
1)首先要能搞定一般的業務需求,至少來活了能干:
馬士兵JAVA基礎教程
spring馬士兵
2)代碼能寫出來了,流程也能跑通了,但不想讓別人鄙視自己的代碼,就要把代碼寫的漂亮些:
代碼整潔之道
修改代碼的藝術
重構 改善既有代碼的設計
Head First 設計模式
設計模式
3)好了到這業務的需求能滿足了,代碼也漂亮但是有時會出一些性能問題或者想弄些高級代碼,就跑不了jvm和多線程了:
Java并發編程實戰
深入理解Java虛擬機
MAT——heap dump分析工具
4)現在別忘了,我們還是紙老虎,只能應付普通的工作,所以要盡快的把基礎知識補充起來:
Java編程思想
Spring官方文檔細讀下
數據結構與算法分析
數據結構——上學時的教材
大話數據結構——聽話不錯還沒有讀過
5)現在應用系統差不多了,但是要寫sql和數據庫打交道呀:
mysql官方文檔
高性能MySQL
單應用開發沒問題了,要從環境和架構的角度看事情了:
大型網站技術架構
7)服務器
鳥哥的Linux私房菜
8)負載均衡:
LVS中文站點
HAProxy
nginx
深入理解Nginx
9)容器:
Apache Tomcat
10)緩存:
Redis
Redis設計與實現
Redis實戰
memcached
11)隊列:
MetaQ
Apache Kafka
12)RPC:
Dubbo
Apache Thrift
13)注冊中心
Apache ZooKeeper
14)網絡:
圖解HTTP
圖解TCP/IP
TCP/IP詳解卷1:協議
Wireshark網絡分析就這么簡單
wireshark網絡分析藝術
Wireshark ——抓包工具
還有作為一個合格的開發不僅要能寫出代碼實現需求還要能夠測試、代碼管理、交付等:
后續補充……
其實作為一個開發還有很多其他軟素質相關的東西,比如溝通表達、工作的態度、對技術的態度、另外還有很重要的一點要學會科學上網。選擇合適恰當高效的工具也非常有必要。
另外作為開發經常有的一個毛病就是認為編程是不需要練習的,其實編程也是需要不斷的練習,不斷的敲,就想《一萬小時天才理論》提到的要持續不斷的練習。多讀些優秀的源碼,對自己也會有很大的提升。
最后特別贊同鳥哥的一句話:“個人的發展只有借助于平臺的發展才能一日千里。”!
持續更新……