我與《深入理解Java虛擬機-JVM高級特性與最佳實踐》的故事

作爲周老師的忠實粉絲,其實一直在微博上關注這本書第三版的消息.之前接觸到這本書的時候是從第二版小藍開始的.那會兒搜索JVM相關資料時,基本上都會推薦到這本書,好不誇張的說,至少在國內,深入理解Java虛擬機叢書就是學習JVM的最好資料了.

接下來,我介紹下自己的跟這本書的故事吧~

學生時代:

我的本專業是學數學的,在剛開始轉行學習Java的時候,最開始有一個很模糊的概念,簡單知道通過Java虛擬機可以實現一處編寫,多處執行的功能。但是,因爲是剛剛處於Java入門階段,總感覺JVM是一個很高端的概念,基本上接觸不到,只知道安裝一個JDK,我的Hello World即可跑起來.於是學了下常用框架就想着先去找個工作,結果面試的時候被問到JVM的相關問題時啞口無言,後來便去網上找相關的資料,發現網友都在推薦周老師的《深入理解Java虛擬機-JVM高級特性與最佳實踐》這本書,於是乎趕緊購買了一本,買來之後通讀了一遍,當然那會兒僅僅記住了一些內存模型和結構圖之類的,不過也是幫我順利通過了面試.成功找到了一份工作.

工作後:

隨着進入實際的工作中,才發現jvm相關知識的實際作用.特別是項目中偶爾會發生的一些OOM異常,GC日誌等,最開始查看起來真是一頭霧水,只能看着大佬們通過各種命令工具成功定位解決.然後發現要成功定位修復這些問題,就必須掌握jvm的內存結構和運行原理,因此我再度拾起了周老師的這本書.重點關注的其中一些實戰部分的章節,學習生產環境下對jvm的問題定位.但是實際環境中也不會有這麼多oom的問題,於是我在測試環境自己調整jvm的啓動參數來模擬,經過一番理論加實戰的練習,對jvm的問題也有了一定的瞭解,不再是兩眼一抓瞎的狀態了.

隨着工作年限的增加,對java的理解也變深了.有時候會思考一些更深的問題了,例如new Object()這個指令的底層究竟發生了什麼,一個類是如何加載到虛擬機裏去的,或者一個寫好的類在運行時是如何動態的修改它的一些代碼的.這些問題,其實在深入研究jvm運行機制後都可以找到答案,在本書中就有他們的原理及解答.

有了周老師的幫助,我的Java技術水平有了一個本質的提升。關於JVM有了更加清晰的認識,通過不斷的研究學習這本書,我對於目前線上服務的內存特別敏感。對於各個垃圾收集器的使用也很熟練,有事沒事的就去看看線上服務的垃圾回收情況和GC日誌.對於jinfo,jstack,jmap以及jstat等內存調優命令也是比較熟悉,並且也能熟練的使用mat,arthas等工具.再也不是曾經那個一無所知的懵懂少年了哈~

周老師的《深入理解Java虛擬機-JVM高級特性與最佳實踐》第三版即將開賣,看了目錄之後,感覺在第二版的基礎上進行了很多更新,結合了當前最新的JDK,給我們講解全新的JVM相關特性與技術,帶領我們與時俱進,真正做到了實戰與技術的相結合~

總結:

毫不誇張的說,這本書是Java開發者必備的技術圖書,也是我們大多數同學的JVM啓蒙書籍,這本書使我們更加系統的接觸到了JVM相關的特性與知識。這麼經典的書籍,作者也是一直保持着更新,之前第二版用的jdk7或許有一些過時,目前這本第三版基於jdk12和jdk13所寫,能夠讓讀者瞭解到最新的jvm知識,新增的一些垃圾收集器,以及作者更加豐富的經驗和沉澱.入手這本書無論是豐富自身知識,提高工作能力,還是應付面試順利進大廠,都是無比的超值的~~~

下面附上購買鏈接~~
京東購買鏈接

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