深入理解Java虛擬機
- 作者:新網
- 來源:
- 瀏覽:100
- 2018-04-24 12:08:39
小編為大家介紹一本書籍,本書并不是介紹如何使用Java語言。更不是單純的介紹Java中一些特性的好處,而是告訴讀者Java語言為什么能有這么多好的特性!!!必讀!無論是新手還是老手!!!
<
div> 小編為大家介紹一本書籍,本書并不是介紹如何使用Java語言。更不是單純的介紹Java中一些特性的好處,而是告訴讀者Java語言為什么能有這么多好的特性!!!必讀!無論是新手還是老手!!!
Java語言使程序的開發效率得到了很大的提升。作為一名Java程序員,在編寫程序時除了盡情發揮Java的各種優勢外,還應該去了解和思考一下Java技術體系中這些技術特性是如何實現的。認識這些技術運作的本質,是自己思考“程序這樣寫好不好”的基礎和前提。當我們在使用一種技術時,如果不再依賴書本和他人就能得到這些問題的答案,那才算上升到了“不惑”的境界。本書將深入分析Java技術中最重要的那些特性的實現原理,幫助讀者全面的了解Java語言。
簡介
全書共分為五大部分,圍繞內存管理、執行子系統、程序編譯與優化、高效并發等核心主題對JVM進行了全面而深入的分析,深刻揭示了JVM的工作原理。
第一部分從宏觀的角度介紹了整個Java技術體系、Java和JVM的發展歷程、模塊化,以及JDK的編譯,這對理解本書后面內容有重要幫助。
第二部分講解了JVM的自動內存管理,包括
虛擬機內存區域的劃分原理以及各種內存溢出異常產生的原因;常見的垃圾收集算法以及垃圾收集器的特點和工作原理;常見虛擬機監控與故障處理工具的原理和使用方法。
第三部分分析了虛擬機的執行子系統,包括類文件結構、虛擬機類加載機制、虛擬機字節碼執行引擎。
第四部分講解了程序的編譯與代碼的優化,闡述了泛型、自動裝箱拆箱、條件編譯等語法糖的原理;講解了虛擬機的熱點探測方法、HotSpot的即時編譯器、編譯觸發條件,以及如何從虛擬機外部觀察和分析JIT編譯的數據和結果;
第五部分探討了Java實現高效并發的原理,包括JVM內存模型的結構和操作;原子性、可見性和有序性在Java內存模型中的體現;先行發生原則的規則和使用;線程在Java語言中的實現原理;虛擬機實現高效并發所做的一系列鎖優化措施。
這就是這本書的大概內容。