深入理解Java虛擬機是一冊由周志明著的一本Java虛擬機學習教材,這本冊子可以讓你深入理解java虛擬機PEF圍繞虛擬機進行講解,里面的內容詳細介紹Java的發展和其作用,讓大家快速了解Java,有需要進行學習的用戶不要錯過了哦!
深入理解java虛擬機PDF目錄
前言
第一部分 走近Java
第1章 走近Java
1.1 概述
1.2 Java技術體系
1.3 Java發展史
1.4 Java虛擬機發展史
1.4.1 Sun Classic Exact VM
1.4.2 Sun HotSpot VM
1.4.3 Sun Mobile-Embedded VM Meta-Circular VM
1.4.4 BEA JRockit IBM J9 VM
1.4.5 Azul VM BEA Liquid VM
1.4.6 Apache Harmony Google Android Dalvik VM
1.4.7 Microsoft JVM及其他
1.5 展望Java技術的未來
1.5.1 模塊化
1.5.2 混合語言
1.5.3 多核并行
1.5.4 進一步豐富語法
1.5.5 64位虛擬機
1.6 實戰:自己編譯JDK
1.6.1 獲取JDK源碼
1.6.2 系統需求
1.6.3 構建編譯環境
1.6.4 進行編譯
1.6.5 在IDE工具中進行源碼調試
1.7 本章小結
第二部分 自動內存管理機制
第2章 Java內存區域與內存溢出異常
2.1 概述
2.2 運行時數據區域
2.2.1 程序計數器
2.2.2 Java虛擬機棧
2.2.3 本地方法棧
2.2.4 Java堆
2.2.5 方法區
2.2.6 運行時常量池
2.2.7 直接內存
2.3 HotSpot虛擬機對象探秘
2.3.1 對象的創建
2.3.2 對象的內存布局
2.3.3 對象的訪問定位
2.4 實戰:OutOfMemoryError異常
2.4.1 Java堆溢出
2.4.2 虛擬機棧和本地方法棧溢出
2.4.3 方法區和運行時常量池溢出
2.4.4 本機直接內存溢出
2.5 本章小結
第3章 垃圾收集器與內存分配策略
3.1 概述
3.2 對象已死嗎
3.2.1 引用計數算法
3.2.2 可達性分析算法
3.2.3 再談引用
3.2.4 生存還是死亡
3.2.5 回收方法區
3.3 垃圾收集算法
3.3.1 標記-清除算法
3.3.2 復制算法
3.3.3 標記-整理算法
3.3.4 分代收集算法
3.4 HotSpot的算法實現
3.4.1 枚舉根節點
3.4.2 安全點
3.4.3 安全區域
3.5 垃圾收集器
3.5.1 Serial收集器
3.5.2 ParNew收集器
。。。。。。
深入理解java虛擬機內容簡介
整部書分為五大部分,圍繞內存管理、執行子系統、程序編譯與優化、高效并發等核心主題,對JVM進行了全面深入的分析,深刻揭示了其工作原理。首先從宏觀上介紹了Java技術的整體體系,Java和JVM的發展過程,模塊化,JDK的編譯,這些都有助于理解本書后面的內容。第2部分將解釋JVM的自動內存管理,包括虛擬機內存區域的劃分原理,以及造成內存溢出的各種原因;常見的垃圾收集算法,垃圾收集器的特性和工作原理;虛擬機常見的監控和故障處理工具的原理及使用。在第三部分中,對虛擬機的執行子系統進行了分析,包括類文件結構、虛擬機類加載機制和虛擬機字節代碼執行引擎。第4部分講解了程序編譯和優化,闡述了通用、自動裝箱、條件編譯等語法原理;介紹了虛擬機熱點探測方法;介紹了HotSpot的即時編譯器、編譯觸發條件,以及JIT編譯的數據和結果如何從虛擬機外部觀察和分析;第五部分探討了Java實現高效并發的原理,包括JVM內存模型的結構和操作;Java內存模型的原子性、可視性和有序性在Java內存模型中的體現;先決性原則的規則和使用;Java語言中線程的實現原理;虛擬機實現高效并發的一系列鎖優化措施。