相关截图:
数据摘要:
作为Java程序员,你也曾想深入了解Java虚拟机,但被其复杂性和深奥所拒绝了吗? 没关系。 本书将复杂性简化到了极限,通过简单的过程就可以了解Java虚拟机的奥秘。 本书是近年来国内出版的唯一一本Java虚拟机专著,也是唯一一部从核心理论和实际运用两方面探讨Java虚拟机的著作,不仅理论得到了透彻的分析,书中所包含的典型案例和*实践也具有现实指导意义全书共分五大部分。 第一部分从宏观角度介绍了如何独立编译整个Java技术体系的过去、现在、未来和OpenJDK7。 这有助于理解以下内容。 第二部分介绍了JVM的自动内存管理,包括虚拟机内存空间划分原理和各种内存溢出异常的发生原因。 常见垃圾收集算法和垃圾收集器的特点和工作原理常见虚拟机监控和调试工具的原理和使用方法。 第三部分分析了虚拟机的执行子系统,包括Class的文件结构,以及如何存储和访问Class中的数据。 虚拟机的类创建机制以及类加载器的工作原理及其对虚拟机的含义; 虚拟机字节码的执行引擎以及它执行代码时涉及的内存结构。 第四部分说明了程序编译和代码优化,阐述了通用性、自动装箱开箱、条件编译等语法糖的原理; 介绍了虚拟机热点检测方法、HotSpot即时编译器、编译触发条件以及如何从虚拟机外部观察和分析JIT编译的数据和结果。 第五部分讨论了Java实现高效并发的原理,包括JVM内存模型的结构和操作。 Java内存模型中原子性、可见性、有序性的表达; 先行原则规则和使用Java语言中的线程实现原理为实现虚拟机高效并发而采取的一系列锁定优化措施。 本书适合所有Java程序员、系统调优师和系统架构师阅读。
数据目录:
前言
致谢
第一部分接近Java
第一章接近Java
1.1概述
1.2 Java技术体系
1.3 Java发展史
1.4展望Java技术的未来
1.5实战:自行编译JDK
1.6本章总结
第二部分自动内存管理机制
第2章Java内存区域和内存溢出异常
2.1概述
2.2运行时数据区域
2.3对象访问
2.4实战: OutOfMemoryError异常
2.5本章总结
第三章垃圾收集器和内存分配策略
3.1概述
3.2对象死了吗?
3.3垃圾收集算法
3.4垃圾收集器
3.5内存分配和回收策略
3.6本章总结
第4章虚拟机性能监控和故障处理工具
4.1概述
4.2 JDK命令行工具
4.3 JDK可视化工具
4.4本章总结
第五章案例分析与实战协调
5.1概要
5.2案例分析
5.3实战: Eclipse运行速度的调整
5.4本章总结
第三部分虚拟机执行子系统
第六章类文件结构
6.1概述
6.2无关性基础
6.3类文件的结构
6.4类文件结构的发展
6.5本章总结
第七章虚拟机类加载机制
7.1概述
7.2类加载时机
7.3类加载的过程
7.4类加载程序
7.5本章总结
第八章虚拟机字节码执行引擎
8.1概述
8.2运行时堆栈帧结构
8.3方法调用
8.4基于堆栈的字节码解释执行引擎
8.5本章总结
第九章子系统加载与运行案例与实战
9.1概述
9.2案例分析
9.3实战:亲手实现远程执行功能
9.4本章总结
第四部分程序编译和代码优化
第十章早期(编译期)优化
10.1概述
10.2 Javac编译器
10.3 Java语法糖的味道
10.4实战:插入式注释处理器
10.5本章总结
第十一章晚期(运行期)优化
11.1概述
11.2 HotSpot虚拟机中的实时编译器
11.3编译优化技术
11.4 Java和C/C编译器比较
11.5本章总结
第五节高效并发
第十二章Java内存模型和线程
12.1概述
12.2硬件效率和一致性
12.3 Java内存型号
12.4 Java和线程
12.5本章总结
第13章线程安全和锁定优化
13.1概述
13.2线程安全
13.3锁优化
13.4本章总结
附录A Java虚拟机家族
附录b虚拟机字节码命令表
附录C HotSpot虚拟机主要参数表
附录d对象查询语言(OQL )概述
附录E JDK历史记录版本轨迹