自學Java的人不少,科班出身的也很多,但是到什麼程度才有資格說自己精通Java?個人覺得至少需要經歷以下幾個階段:
1
重視程式碼品質,精益求精,這是技術開發的本質,也是程式員的立足之本。
對處於還沒工作或者工作1年左右這個階段的人來說,看書是比較好的提升方式,推薦《Java程式設計思想》、《effective java》等。需要註意的是,在看書的過程中一定要思考能否運用書中的經驗來改善自己寫的程式碼,運用到實處,比如看到final和static,想想自己程式碼中用的是否合理。
此外,還可以看些常用的開源框架,如果你用的是Spring框架等,那麼下麵知識圖譜可以借鑒:
Spring框架知識結構,領取方式見文末
2
打好基礎後,主動跳出舒適區,不斷擴大自己的技術視野。
這一步比較難,因為很多人會被公司的技術和業務牽著走。比如公司當前的業務規模決定了技術上不需要分散式技術,很多人就不會去思考規模大了之後如何利用分散式技術來解決問題。
這種時候,除了尋找更大規模的業務外,要時刻保持跳出當前層級和環境來思考的習慣。比如,你只用了關係型資料庫,有沒有想過資料一直產生,到達TB級別的時候該如何快速檢索與儲存呢?
高併發和分散式技術腦圖,領取方式見文末
3
擴充套件了知識寬度,還要加強自己的技術深度。
很多人信奉“不去造輪子”,看似價效比很高的一句話,卻不知道這句話是有前提的,那就是“你得知道輪子的內部結構”,否則就是自我麻痺。接下來需要選擇某一個或幾個方面深入研究下去,構建自己的核心競爭力。
一個有技術深度的程式員才是有靈魂的。而大廠也願意為有趣的靈魂買單,這個時候看的就不僅僅是工資水平,更多的在於晉升和發展前景的廣闊性。
技術的突破需要依賴業務場景的需求和自身刻意的規劃學習,二者缺一不可。但前者是機會,往往不是自己能完全把控的,如果在工作中沒有實踐場景,最好的辦法就是系統的學習與梳理,待機會來臨時才能一展身手。