發表於2024-12-21
超級暢銷書全新升級,第1版兩年內印刷近10次,Java圖書領域公認的經典著作,繁體版颱灣發行
基於JDK1.7,圍繞內存管理、執行子係統、程序編譯與優化、高效並發等核心主題對JVM進行全麵而深入的分析,深刻揭示JVM的工作原理
本書第1版兩年內印刷近10次,4傢網上書店的評論近4?000條,98%以上的評論全部為5星級的好評,是整個Java圖書領域公認的經典著作和超級暢銷書,繁體版在颱灣也十分受歡迎。第2版在第1版的基礎上做瞭很大的改進:根據全新的JDK 1.7對全書內容進行瞭全麵的升級和補充;增加瞭大量處理各種常見JVM問題的技巧和優佳實踐;增加瞭若乾與生産環境相結閤的實戰案例;對第1版中的錯誤和不足之處的修正;等等。第2版不僅技術更新、內容更豐富,而且實戰性更強。
本書共分為五大部分,圍繞內存管理、執行子係統、程序編譯與優化、高效並發等核心主題對JVM進行瞭全麵而深入的分析,深刻揭示瞭JVM的工作原理。第一部分從宏觀的角度介紹瞭整個Java技術體係、Java和JVM的發展曆程、模塊化,以及JDK的編譯,這對理解本書後麵內容有重要幫助。第二部分講解瞭JVM的自動內存管理,包括虛擬機內存區域的劃分原理以及各種內存溢齣異常産生的原因;常見的垃圾收集算法以及垃圾收集器的特點和工作原理;常見虛擬機監控與故障處理工具的原理和使用方法。第三部分分析瞭虛擬機的執行子係統,包括類文件結構、虛擬機類加載機製、虛擬機字節碼執行引擎。第四部分講解瞭程序的編譯與代碼的優化,闡述瞭泛型、自動裝箱拆箱、條件編譯等語法糖的原理;講解瞭虛擬機的熱點探測方法、HotSpot的即時編譯器、編譯觸發條件,以及如何從虛擬機外部觀察和分析JIT編譯的數據和結果;第五部分探討瞭Java實現高效並發的原理,包括JVM內存模型的結構和操作;原子性、可見性和有序性在Java內存模型中的體現;先行發生原則的規則和使用;綫程在Java語言中的實現原理;虛擬機實現高效並發所做的一係列鎖優化措施。
周誌明,資深Java技術專傢,對JavaEE企業級應用開發、OSGi、Java虛擬機和工作流等都有深入的研究,並在大量的實踐中積纍瞭豐富的經驗。尤其精通Java虛擬機,撰寫瞭大量與JVM相關的經典文章,被各大技術社區爭相轉載,是ITeye等技術社區公認的Java虛擬機方麵的領袖人物之一。除本書外,還著有經典著作本書,廣獲讀者好評。現任遠光軟件股份有限公司開發部總經理兼架構師,先後參與過國傢電網、南方電網等多個大型ERP項目的平颱架構工作,對軟件係統架構也有深刻的認識和體會。
前言
第一部分 走近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收集器
3.5.3 Parallel Scavenge收集器
3.5.4 Serial Old收集器
3.5.5 Parallel Old收集器
3.5.6 CMS收集器
3.5.7 G1收集器
3.5.8 理解GC日誌
3.5.9 垃圾收集器參數總結
3.6 內存分配與迴收策略
3.6.1 對象優先在Eden分配
3.6.2 大對象直接進入老年代
3.6.3 長期存活的對象將進入老年代
3.6.4 動態對象年齡判定
3.6.5 空間分配擔保
3.7 本章小結
第4章 虛擬機性能監控與故障處理工具
4.1 概述
4.2 JDK的命令行工具
4.2.1 jps:虛擬機進程狀況工具
4.2.2 jstat:虛擬機統計信息監視工具
4.2.3 jinfo:Java配置信息工具
4.2.4 jmap:Java內存映像工具
4.2.5 jhat:虛擬機堆轉儲快照分析工具
4.2.6 jstack:Java堆棧跟蹤工具
4.2.7 HSDIS:JIT生成代碼反匯編
4.3 JDK的可視化工具
4.3.1 JConsole:Java監視與管理控製颱
4.3.2 VisualVM:多閤一故障處理工具
深入理解Java虛擬機:JVM高級特性與最佳實踐(第2版) 編程語言與程序設計【新華書店官網正版書】 下載 mobi epub pdf txt 電子書 格式
深入理解Java虛擬機:JVM高級特性與最佳實踐(第2版) 編程語言與程序設計【新華書店官網正版書】 下載 mobi pdf epub txt 電子書 格式 2024
深入理解Java虛擬機:JVM高級特性與最佳實踐(第2版) 編程語言與程序設計【新華書店官網正版書】 下載 mobi epub pdf 電子書深入理解Java虛擬機:JVM高級特性與最佳實踐(第2版) 編程語言與程序設計【新華書店官網正版書】 mobi epub pdf txt 電子書 格式下載 2024