深入理解Java虚拟机(1)前言
前言
Java技术体系组成:Java虚拟机、JavaAPI、Java编程语言、第三方jar包框架
第三方jar包框架:包括Spring、MyBatis等
Java开发技术的一个特点:在虚拟机层面隐藏了底层技术的复杂性以及隐藏了机器与操作系统的差异性。
了解Java虚拟机的运作虽然不是普通开发人员必备的,但是,如果开发人员不了解虚拟机诸多技术特性的运行原理,就无法写出最适合虚拟机运行和自优化的代码。
学习虚拟机中各种自动运作特性的原理是程序员成长之路上最终会接触到的一课。
《深入理解Java虚拟机》大都以HotSpot虚拟机作为本书主要分析、讲解的对象。
HotSpot VM:它是Sun JDK和Open JDK中所带的虚拟机,也是目前使用范围最广的Java虚拟机。
本书内容介绍
五个部分,彼此独立 |
---|
走进Java |
自动内存管理机制 |
虚拟机执行子系统 |
程序编译与代码优化 |
高效并发 |
- 了解历史
- 内存结构
- 垃圾回收机制
- 性能监控工具
- 性能调优案例实战
- 认识类的文件结构
- 类加载机制
- 字节码执行引擎
- 虚拟机编译及运行时优化
- Java线程高级
本书讲解中涉及JDK7以前的HotSpot虚拟机、Jrockit虚拟机、WebLogic服务器。
《深入理解Java虚拟机》第二版以JDK7为技术平台,但是第三版是基于2019年中期而写,所有讲解讨论都基于这个时间点的Java技术,并不针对特定的JDK版本。
目录介绍
第一部分 走近Java
第1章:介绍Java历史,以及如何独立编译一个OpenJDK7
第二部分 自动内存管理机制
Java虚拟机拥有控制内存的权利,这种权力有利有弊。
第2章:虚拟机内存划分,内存溢出的各种情况
第3章:垃圾收集算法,各种垃圾收集器的相关内容
第4章:JDK中6个命令行工具与2个可视化工具的使用
第5章:案例,故障处理与调优
第三部分 虚拟机执行子系统
第6章:Class文件结构介绍,实战演示Class数据的存储与访问
第7章:类加载的过程、原理及其对虚拟机的意义
第8章:虚拟机运行的内部流程及涉及到的内存结构
第9章:案例,四个类加载及执行子系统
第四部分 程序编译与代码优化
从源码到字节码,从字节码到本机机器码的编译过程
第10章:泛型、自动装箱拆箱、条件编译等多种语法糖,实战演示插入式注解处理器实现检查命名规范
第11章:虚拟机热点探测方法、HotSpot的即时编译器、编译触发条件,以及从虚拟机外部观察和分析JIT编译的数据和结果,还介绍几种常见的编译期优化技术
第五部分 高效并发
第12章:Java内存模型的结构与操作
第13章:线程安全相关内容,虚拟机底层运作原理