點擊上方關注我,選擇“置頂或者星標”
Java 虛擬機是學習 Java 的基礎,也是邁入高級 Java 開發工程師的必備知識點。所以今天這篇文章我們來聊聊如何從零開始學習 Java 虛擬機。
基礎
對於剛剛接觸 JVM 的同學來說,JVM 就像一個黑盒一樣,完全不知道這是一個什麼東西。所以對於小白來說,最重要是搞清楚 JVM 到底是幹嘛的,以及其常用的知識框架。針對這樣的需求,我之前寫過一個 JVM 系列文章,從零開始循序漸進地介紹了 JVM,相信是很不錯的 JVM 入門教程。
看完了我寫的教程之後,你應該對 JVM 有了基本的理解。這時候你可以看一下《深入理解Java虛擬機》,這本書是國內學習 JVM 的必備書籍。通過閱讀這本書,你對 JVM 的一些知識點會了解得更加全面。
實戰
當你對 JVM 有了一定的認知,這時候就可以嘗試去解決一些 JVM 問題了。在這個階段推薦的書籍是:《Java虛擬機實戰》。與《深入理解Java虛擬機》不同,這本書更加側重於實戰,有許多的實戰例子。
看完《Java虛擬機實戰》之後,你基本上知道如何排查 JVM 問題。但是你只是掌握了理論技能,你要在工作中爭取到線上排查的機會,把你的理論付諸於實踐。只有不斷地融合和實踐,才能使得你的經驗非常豐富(還記得之前說過的「整體性學習方法」嗎?)。
深入
經過理論+實戰的洗禮,你已經從一個小白變成了老鳥。但這個時候你或許還會對 JVM 的一些細節不夠了解,這個時候你需要閱讀《Java虛擬機規範》。因爲在這之前你看的《深入理解Java虛擬機》、《Java虛擬機實戰》等書籍,全部都是二手信息。而《Java虛擬機規範》則是關於 Java 虛擬機的規定,是一手信息。看完它,我相信你對 Java 虛擬機的理解會更上一層樓。
之前我在閱讀《Java虛擬機規範》的時候也做了一些備註,如果你感興趣可以到我的博客園上查找「33.JVM規範系列」文章閱讀。
看完了《Java虛擬機規範》,如果你還有興趣,那麼你可以開始閱讀 HotSpot 虛擬機的源碼了。所有細節在源碼面前都盡顯本色,相信到了這一階段,你已經不需要我的指導了。盡情暢遊於 JVM 源碼的海洋吧~
總結
JVM 本身比較難懂,但按照我提供的線路圖去學習,整個的學習曲線不會很陡。只要願意付出時間和精力,還是可以很快地學會 JVM 基礎知識的。
推薦閱讀
公衆號@陳樹義,用最簡單的語言,讓複雜的技術不再難懂。
↑↑創作不易,如果喜歡請轉發↑↑