《深刻理解Java虛擬機》讀書筆記

爲何看這本書?

JVM 這塊一直沒有系統的學習,在極客時間上買了一個 "深刻拆解Java虛擬機" 專欄,專欄是看完了,可是感受跟看天書同樣,基本都忘了。因此但願藉助看這本書入個門。程序員

 

書的總體狀況

整書 400 多頁,包含了大量 JVM 配置參數與代碼實例,我花了週末一天加三個晚上空餘時間看完的,七八小時。讀起來沒那麼累,但沒去實踐仍是比較容易忘記。算法

書提到了這些知識模塊:併發

  • Java 與虛擬機的發展歷史ide

  • 如何編譯 JDK工具

  • Java內存區域性能

  • 內存溢出異常學習

  • 垃圾收集器與內存分配策略優化

  • 虛擬機性能監控與故障處理工具spa

  • 調優案例分析與實戰操作系統

  • 類文件結構

  • 虛擬機類加載機制

  • 虛擬機字節碼執行引擎

  • 類加載及執行子系統的案例與實戰

  • 程序編譯與代碼優化

  • 高效併發


適合閱讀人羣

熟練使用 Java 語言,開始探索 Java 虛擬機的運行機制。


最大的感觸

  • 看這本書,就像在聽做者說關於 Java 如何運行與優化的故事同樣,結構清晰、條理性很好,適合入門 JVM。

  • 書中包含了大量的參數配置以及實驗代碼,JVM 的學習對動手能力要求更高。不去實踐配置調整虛擬機的啓動參數、不寫實驗代碼,是無法感覺到 JVM 在底層究竟是如何運行的,它會產生哪些影響,在什麼狀況下會出問題。

  • 瞭解了 JVM 的內存分佈、各類內存溢出致使的緣由、垃圾收集算法與各類垃圾收集器的特色、虛擬機的性能監控與故障處理、class 文件結構、類編譯加載執行以及各類優化,對咱們平時寫出高質量的 Java 代碼是頗有幫助的,尤爲是遇到 "詭異" 的狀況可以猜出個 123 來。

  • 本地編譯 JDK 是一件有挑戰的事情,由於操做系統的環境問題、未公開代碼的類庫加載、使用了不一樣的編譯器等各類問題,哪怕是一箇中文目錄也可能讓你崩潰。得空本身 high 一把,應該其樂無窮。

  • 瞭解底層不容易,但應該是每一個 Java 程序員所向往的,正如做者說的,Java 與 C++ 之間有一堵由內存動態分配和垃圾收集技術所圍成的高牆,牆外面的人想進去,牆裏面的人卻想出來。

  • JVM 中關於併發的部分,講的不夠詳細、不夠深刻。

  • 我這是看的初版,後面準備看一下第二版,而後實踐書裏的參數以及實驗代碼,畫個圖分享出來。

相關文章
相關標籤/搜索