最新:深入理解Java虚拟机:JVM高级特性与最佳实践(第3版)周志明

  • Post author:
  • Post category:java


jvm

本书一共分为五个部分:走近Java、自动内存管理、虚拟机执行子系统、程序编译与代码优化、 高效并发。各个部分之间基本上是互相独立的,没有必然的前后依赖关系,读者可以从任何一个感兴 趣的专题开始阅读,但是每个部分各个章节间则有先后顺序。 这里并没有假定所有读者都在Java领域具备特别专业的技术水平,因此会在保证逻辑完整、描述 准确的前提下,尽量用通俗的语言和案例去讲述虚拟机中与开发关系最为密切的内容。但是,本书毕 竟是在探讨虚拟机的工作原理,不可避免地需要读者有一定的技术基础,而且本书的读者定位是中、 高级程序员群体,对于一些常用的开发框架、Java类库API和Java语法等基础知识点,将假设读者已有 所了解。本书介绍的Java虚拟机并不局限于某一个特定发行商或者某一款特定虚拟机,只是由于 OracleJDK/OpenJDK在市场占有率上的绝对优势,其中的HotSpot虚拟机不可避免地成为本书主要分 析、讲解的对象,书中在涉及Java虚拟机自身实现相关的内容时,大多将以HotSpot虚拟机为目标对象 来进行讲解。但撰写本书的意图并不是去做HotSpot的源码导读或者解析,书中所讲述的内容多为Java 虚拟机的通用原理,即使读者使用了HotSpot之外的其他Java虚拟机实现,也会有所收获。

第一部分 走近Java 本书的第一部分为后文的研究和讲解建立了良好的基础。虽然了解Java技术的来龙去脉,以及编 译自己的OpenJDK对于读者理解Java虚拟机并不是必须的,但是这些准备过程可以为走近Java技术和 Java虚拟机提供良好的引导。

第一部分只有第1章: 第1章 介绍了Java技术体系过去、现在的情况以及未来的发展趋势,并在实践中介绍了如何自己 编译一个OpenJDK 12。

第二部分 自动内存管理 因为程序员把控制内存的权力交给了Java虚拟机,所以可以在编码的时候享受自动内存管理的诸 多优势,不过也正因为这个原因,一旦出现内存泄漏和溢出方面的问题,如果不了解虚拟机是怎样使 用内存的,那排查错误将会成为一项异常艰难的工作。

第二部分包括第2~5章: 第2章 介绍了虚拟机中内存是如何划分的,哪部分区域、什么样的代码和操作可能导致内存溢出 异常,并讲解了各个区域出现内存溢出异常的常见原因。

第三部分 虚拟机执行子系统 执行子系统是虚拟机中必不可少的组成部分,了解了虚拟机如何执行程序,才能更好地理解怎样 才能写出优秀的代码。

第三部分包括第6~9章: 第6章 讲解了Class文件结构中的各个组成部分,以及每个部分的定义、数据结构和使用方法, 以实战的方式演示了Class的数据是如何存储和访问的。

第四部分 程序编译与代码优化 Java程序从源码编译成字节码,再从字节码编译成本地机器码的这两个过程,从整体来看其实等 同于一个传统编译器所执行的编译前端、后端过程。

第四部分包括第10~11章: 第10章 分析了Java语言中泛型、主动装箱拆箱、条件编译等多种语法糖的前因后果,并实战练 习了如何使用插入式注解处理器来完成一个检查程序命名规范的编译器插件。

第五部分 高效并发 Java语言和虚拟机提供了原生的、完善的多线程支持,使得它天生就适合开发多线程并发的应用 程序。不过我们不能期望系统来完成所有与并发相关的处理,了解并发的内幕也是成为一位高级程序 员不可缺少的课程。

第五部分包括第12~13章: 第12章 讲解了虚拟机Java内存模型的结构及操作,以及原子性、可见性和有序性在Java内存模型 中的体现;介绍了先行发生原则的规则及使用,以及线程在Java语言之中是如何实现的;还提前介绍了目前仍然在实验室状态的Java协程的相关内容。

gzh :【乐购鲸选】(千本资源 免费) 回复书名

深入理解Java虚拟机:JVM高级特性与最佳实践(第3版-绝对高清版)



版权声明:本文为china19931017原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。