寫給小白的JVM學習指南

點擊上方關注我擇“置頂或者星標”

640?wx_fmt=png

Java 虛擬機是學習 Java 的基礎,也是邁入高級 Java 開發工程師的必備知識點。所以今天這篇文章我們來聊聊如何從零開始學習 Java 虛擬機。

基礎

對於剛剛接觸 JVM 的同學來說,JVM 就像一個黑盒一樣,完全不知道這是一個什麼東西。所以對於小白來說,最重要是搞清楚 JVM 到底是幹嘛的,以及其常用的知識框架。針對這樣的需求,我之前寫過一個 JVM 系列文章,從零開始循序漸進地介紹了 JVM,相信是很不錯的 JVM 入門教程。

JVM系列開篇:爲什麼要學虛擬機?

JVM系列第1講:Java 語言的前世今生

JVM系列第2講:Java 虛擬機的歷史

JVM系列第3講:到底什麼是虛擬機?

JVM系列第4講:從源代碼到機器碼,發生了什麼?

JVM系列第5講:字節碼文件結構

JVM系列第6講:Java 虛擬機內存結構

JVM系列第7講:JVM 類加載機制

JVM系列第8講:JVM 垃圾回收機制

JVM系列第9講:JVM垃圾回收器

JVM系列第10講:垃圾回收的幾種類型

JVM系列第11講:JVM參數之堆棧空間配置

JVM系列第12講:JVM參數之查看JVM參數

JVM系列第13講:JVM參數之追蹤類信息

JVM系列第14講:JVM參數之GC日誌配置

看完了我寫的教程之後,你應該對 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 基礎知識的。


推薦閱讀

640?wx_fmt=png

公衆號@陳樹義,用最簡單的語言,讓複雜的技術不再難懂。

↑↑創作不易,如果喜歡請轉發↑↑

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章