跳槽季的查漏補缺,談談對Java程式設計師學習當中各個階段的建議(第四階段)

Javajiagou發表於2019-03-22

第四部分:對於參加工作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和框架原始碼以外,也請你根據別人優秀的原始碼,去造一個任何你能夠想象出來的輪子。

相關文章