全书共分为五大部分。 第一部分从宏观的角度介绍了整个Java技术体系的过去、现在和未来,以及如何独立地编译一个OpenJDK7, 这对理解后面的内容很有帮助。 第二部分讲解了JVM的自动内存管理,包括虚拟机内存区域的划分原理以及各种内存溢出异常产生的原因; 常见的垃圾收集算法以及垃圾收集器的特点和工作原理;常见的虚拟机的监控与调试工具的原理和使用方法。 第三部分分析了虚拟机的执行子系统,包括Class的文件结构以及如何存储和访问Class中的数据; 虚拟机的类创建机制以及类加载器的工作原理和它对虚拟机的意义; 虚拟机字节码的执行引擎以及它在实行代码时涉及的内存结构。 第四部分讲解了程序的编译与代码的优化,阐述了泛型、自动装箱拆箱、条件编译等语法糖的原理; 讲解了虚拟机的热点探测方法、HotSpot的即时编译器、编译触发条件, 以及如何从虚拟机外部观察和分析JIT编译的数据和结果。 第五部分探讨了Java实现高效并发的原理,包括JVM内存模型的结构和操作;原子性、 可见性和有序性在Java内存模型中的体现;先行发生原则的规则和使用;线程在Java语言中的实现原理; 虚拟机实现高效并发所做的一系列锁优化措施。 本书适合所有Java程序员、系统调优师和系统架构师阅读。
这本书真的是一本良心书,
这本书给我的感受就是,
它不仅能够让你轻松面对跳槽面试时候的java虚拟方面的面试题肯定是加分项,
而且还能够让你成为工作中解决这方面的能手,阅读这本书肯定让你受益匪浅。
发送“深入理解Java虚拟机第三版周志明”,获取PDF文件。