一、走进Java

世界上并没有完美的程序,但我们并不因此而沮丧,因为写程序本来就是一个不断追求完美的过程。

1.1概述

1.2 Java技术体系

1.3 Java发展史

1.4 Java虚拟机家族

1.5展望J ava技术的未来

1.6实战:自己编译JDK

1.7本章小结

深入java虚拟机有第四版吗_开发语言

深入java虚拟机有第四版吗_开发语言_02

二、自动内存管理

Java与C+ +之间有一堵由内存动态分配和垃圾收集技术所围成的高墙,墙外面的人想进去,墙里面的人却想出来。

第2章Java内存区域与内存溢出异常

2.1概述

2.2运行时数据区域

2.3 HotSpot虚拟机对象探秘

2. 4实战: 0utOfMem oryErr or异常

2.5本章小结

深入java虚拟机有第四版吗_深入java虚拟机有第四版吗_03

第3章垃圾收集器与内存分配策略

3.1概述

3.2对象已死?

3.3垃圾收集算法

3.4 HotSp ot的算法细节实现

3.5经典垃圾收集器

3.6低延迟垃圾收集器

3.7选择合适的垃圾收集器

3.8实战:内存分配与回收策略

3.9小结

深入java虚拟机有第四版吗_开发语言_04

第4章虚拟机性能监控、故障处理工具

4.1概述

4.2基础故障处理工具

4.3可视化故障处理工具

4.4 HotSpot虚拟机插件及工具

4.5本章小结

深入java虚拟机有第四版吗_深入java虚拟机有第四版吗_05

第5章调优案例分析与实战

5.1概述

5.2案例分析

5.3实战: Eclipse运行速度调优

5.4本章小结

深入java虚拟机有第四版吗_深入java虚拟机有第四版吗_06

三、虚拟机执行子系统

代码编译的结果从本地机器码转变为字节码,是存储格式发展的一-小步,却是编程语言发展的一大步。

第6章:类文件结构

6.1概述

6.2无关性的基石

6.3 Class类文件的结构

6.4字节码指令简介

6.5公有设计,私有实现

6.6 Class文件结构的发展

6.7本章小结

深入java虚拟机有第四版吗_Java_07

第7章:虚拟机类加载机制

7. 1概述

7.2类加载的时机

7.3类加载的过程

7.4类加载器

7.5 Java模块化系统

7.6本章小结

深入java虚拟机有第四版吗_java_08

第8章:虚拟机字节码执行引擎

8.1概述

8.2运行时栈帧结构

8.3方法调用

8.4动态类型语言支持

8.5基于栈的字节码解释执行引擎

8.6本章小结

深入java虚拟机有第四版吗_Java_09

第9章:类加载及执行子系统的案例与实战

9.1概述

9.2案例分析

9.3实战:自己动手实现远程执行功能

9.4本章小结

四、程序编译与代码优化

从计算机程序出现的第一天起, 对效率的追逐就是程序员天生的坚定信仰,这个过程犹如一场没有终点、永不停歇的F1方程式竞赛,程序员是车手,技术平台则是在赛道上飞驰的赛车。

第10章:前端编译与优化

10. 1概述

10.2 Javac编译器

10.3 Java语法糖的味道

10. 4实战:插入式注解处理器

10. 5本章小结

深入java虚拟机有第四版吗_jvm_10

第11章:后端编译与优化

11. 1概述

11.2即时编译器

11.3提前编译器

11.4编译器优化技术

11.5实战:深入理解Gr aal编译器

11.6本章小结

深入java虚拟机有第四版吗_开发语言_11

五、高效并发

第12章:Java内存模型与线程

并发处理的广泛应用是AmdahI定律代替摩尔定律成为计算机性能发展源动力的根本原因,也是人类压榨计算机运算能力的最有力武器。

12.1概述

12.2硬件的效率与一致性

12.3 Java内存模型

12. 4 Java与线程

12.5 Java与协程

12.6本章小结

深入java虚拟机有第四版吗_深入java虚拟机有第四版吗_12

第13章:线程安全与 锁优化

我们了解虚拟机Java内存模型的结构及操作,并且讲解了原子性、可见性、有序性在Java内存模型中的体现,介绍了先行发生原则的规则及使用。另外,我们还了解了线程在Java语言之中是如何实现的,以及代表Java未来多线程发展的新并发模型的工作原理。

关于“高效并发"这个话题,在本章中主要介绍了虚拟机如何实现“并发”在下一章中,我们的主要关注点将是虚拟机如何实现"高效”,以及虚拟机对我们编写的并发代码提供了什么样的优化手段。

13.1概述

13.2线程安全

13.3锁优化

13.4本章小结

深入java虚拟机有第四版吗_jvm_13