跳槽季的查漏補缺,談談對Java程式設計師學習當中各個階段的建議(第四階段)
第四部分:對於參加工作2年到3年的同學
有的同學在這個時候覺得自己已經很牛逼了,於是忍不住開始慢慢鬆懈。請記住,你還嫩的多。
這個階段,有一本書是你必須看的,它叫做《深入理解Java虛擬機器》。這本書絕對是Java開發者最重要的書,沒有之一。在LZ眼裡,這本書的重要性還要高於《Java程式設計思想》。
這本書的內容是幫助你全面的瞭解Java虛擬機器,在這個階段,你一定已經知道Java是執行在JVM之上的。所以,對於JVM,你沒有任何理由不瞭解它。LZ之前有寫過JVM系列的知識,
另外,在過去2年的工作當中,你肯定或多或少接觸過併發。這個時候,你應該去更加深入的瞭解併發相關的知識,而這部分內容,LZ比較推薦《Java併發程式設計實戰》這本書。只要你把這本書啃下來了,併發的部分基本已經瞭解了十之六七。
與此同時,這個階段你要做的事情還遠不止如此。這個時候,你應該對於你所使用的框架應該有了更深入的瞭解,對於Java的類庫也有了更深入的瞭解。因此,你需要去看一些JDK中的類的原始碼,也包括你所使用的框架的原始碼。
這些原始碼能看懂的前提是,你必須對設計模式非常瞭解。否則的話,你看原始碼的過程中,永遠會有這樣那樣的疑問,這段程式碼為什麼要這麼寫?為什麼要定義這個介面,它看起來好像很多餘?
由此也可以看出,這些學習的過程是環環相扣的,如果你任何一個階段拉下來了,那麼你就真的跟不上了,或者說是一步慢步步慢。而且LZ很負責的告訴你,LZ在這個階段的時候,所學習的東西遠多於這裡所羅列出來的。因此千萬不要覺得你已經學的很多了,LZ所說的這些都只是最低要求,不光是LZ,很多人在這個時間段所學習的內容都遠超本文的範圍。
如果你不能跟上節奏的話,若干年後,如果不是程式猿市場還不錯的話,你很可能不僅僅是工資比別人低,公司沒別人好,而是根本就找不到工作。
總而言之,這個階段,你需要做的是深入瞭解Java底層和Java類庫(比如併發那本書就是Java併發包java.concurrent的內容),也就是JVM和JDK的相關內容。而且還要更深入的去了解你所使用的框架,方式比較推薦看原始碼或者看官方文件。
另外,還有一種學習的方式,在2年這個階段,也應該啟用了,那就是造輪子。
不要聽信那套“不要重複造輪子”的論調,那是公司為了節省時間成本編造出來的。重複造輪子或許對別人沒有價值,因為你造的輪子可能早就有了,而且一般情況下你造出來的輪子還沒有現存的好。但是對別人沒有價值,不代表對你自己沒有價值。
一個造輪子的過程,是一個從無到有的過程。這個過程可以對你進行系統的鍛鍊,它不僅考察你的編碼能力,還考察你的框架設計能力,你需要讓你的輪子擁有足夠好的擴充套件性、健壯性。
而且在造輪子的過程中,你會遇到各種各樣的難題,這些難題往往又是你學習的契機。當你把輪子造好的時候,你一定會發現,其實你自己收穫了很多。
所以,這個階段,除了上面提到的瞭解JVM、JDK和框架原始碼以外,也請你根據別人優秀的原始碼,去造一個任何你能夠想象出來的輪子。
相關文章
- 跳槽季的查漏補缺,談談對Java程式設計師學習當中各個階段的建議(第五階段)Java程式設計師
- 跳槽季的查漏補缺,談談對Java程式設計師學習當中各個階段的建議(第六階段)Java程式設計師
- 大神的分享:Java程式設計師的學習生涯中各個階段的建議Java程式設計師
- 如何準備阿里社招面試,順談 Java 程式設計師學習中各階段的建議阿里面試Java程式設計師
- 學習程式設計的七個階段程式設計
- Java各階段學習書目Java
- 淺談mysql的兩階段提交協議MySql協議
- 初學Java的5個階段,你在哪個階段?Java
- 程式設計師成長的10個階段程式設計師
- 細說高階程式設計師的幾個成長階段程式設計師
- 編譯的各個階段編譯
- 程式設計師跳槽的10個建議程式設計師
- 程式設計師成長曆程的四個階段程式設計師
- 談談程式設計師的離職和跳槽程式設計師
- 淺談工程建設專案施工階段的專案管理(轉)專案管理
- C++各階段學習書目C++
- Java學習第一階段Java
- 分析遊戲設計各個階段的人格特徵遊戲設計特徵
- 程式設計師到高階架構師,必須經歷的三個階段!程式設計師架構
- 漫畫:程式設計師做專案的11個階段程式設計師
- 程式設計師的成長過程中,有哪些階段?程式設計師
- 一個程式設計師的成長的六個階段(轉帖)程式設計師
- 程式設計師不能一直停留在愛學習的階段程式設計師
- Java 學習路線之四個階段Java
- Python新手必備學習的4大階段,建議收藏Python
- Java初階段學習的複習總結Java
- Python學習的十個階段,學完神功大成,對應一下看看你自己在哪個階段Python
- C語言學習的幾個階段C語言
- 學習java的路線圖-五個必經階段Java
- mybatis各階段的詳解MyBatis
- 各個開發階段最流行的Java工具彙總Java
- 機器學習入門階段程式設計師易犯的5個錯誤機器學習程式設計師
- 程式設計師成長道路上必經的幾個階段程式設計師
- 趣圖展現程式設計師職業生涯的11個階段程式設計師
- 談談對程式設計師的管理程式設計師
- 最有效、最全的Vue 2.0 學習路線,各個階段適用Vue
- 大佬視角:談談程式設計師的離職和跳槽程式設計師
- Java高階程式設計師面試大綱——備戰金三銀四跳槽季Java程式設計師面試