前言
Java是目前用户最多、使用范围最广的软件开发技术之一。Java 的技术体系主要由支撑Java程序运行的虚拟机、提供各开发领域接口支持的Javg API、Java编程语言及许多第三方Java框架(如Spring、Struis 等)构成。在国内,有关Java API、Java语言语法及第三方框,架的技术资料和书籍非常丰富,相比之下,有关Java虚拟机的资料却显得异常贫乏。
这种状况在很大程度上是由Java开发技术本身的一-个重要优点导致的:在虚拟机层面隐藏了底层技术的复杂性以及机器与操作系统的差异性。运行程序的物理机器的情况千差万别,而Java虚拟机则在千差万别的物理机上建立了统-的运行平台,实现了在任意-台虚拟机上编译的程序都能在任何一-台虚拟机上正常运行。这-极大优势使得Java应用的开发比传统CIC++应用的开发更高效和快捷,程序员可以把主要精力集中在具体业务逻辑上,而不是物理硬件的兼容性上。在.一般情况下, - -个程序员只要了解了必要的Java API、Java 语法,以及学习适当的第三方开发框架,就已经基本能满足日常开发的需要了,虚拟机会在用户不知不觉中完成对硬件甲台的兼容及对内存等资源的管理工作。因此,了解虚拟机的运作并不是一 般开发人员必须掌握的知识。
让我们一起走进虚拟机的世界吧!
(深入理解java虚拟机2)jvm高级特性与最佳实战
第一部分 走进JAVA
世界上并没有完美的程序,但我们并不因此而沮丧**+jcc4261获取**因为写程序本来就是一个不断追求完美的过程。
1.1概述
1.2 Java技术体系
1.3 Java发展史
1.4 Java虚拟机家族
1.5展望J ava技术的未来
1.6实战:自己编译JDK
1.7本章小结
二、自动内存管理
Java与C+ +之间有一堵由内存动态分配和垃圾收集技术所围成的高墙,墙外面的人想进去,墙里面的人却想出来。
第2章Java内存区域与内存溢出异常
2.1概述
2.2运行时数据区域
2.3 HotSpot虚拟机对象探秘
2. 4实战: 0utOfMem oryErr or异常
2.5本章小结
第3章垃圾收集器与内存分配策略
Java与C++之间有一堵由内存动态分配和垃圾收集技术所围成的“高墙”,墙外面的人想进去,墙里面的人却想出来。
3.1概述
3.2对象已死?
3.3垃圾收集算法
3.4 HotSp ot的算法细节实现
3.5经典垃圾收集器
3.6低延迟垃圾收集器
3.7选择合适的垃圾收集器
3.8实战:内存分配与回收策略
3.9小结
第4章虚拟机性能监控、故障处理工具
4.1概述
4.2基础故障处理工具
4.3可视化故障处理工具
4.4 HotSpot虚拟机插件及工具
4.5本章小结
第5章调优案例分析与实战
5.1概述
5.2案例分析
5.3实战: Eclipse运行速度调优
5.4本章小结
三、虚拟机执行子系统
代码编译的结果从本地机器码转变为字节码,是存储格式发展的一-小步,却是编程语言发展的一大步。
第6章:类文件结构
6.1概述
6.2无关性的基石
6.3 Class类文件的结构
6.4字节码指令简介
6.5公有设计,私有实现
6.6 Class文件结构的发展
6.7本章小结
第7章:虚拟机类加载机制
7. 1概述
7.2类加载的时机
7.3类加载的过程
7.4类加载器
7.5 Java模块化系统
7.6本章小结
第8章:虚拟机字节码执行引擎
8.1概述
8.2运行时栈帧结构
8.3方法调用
8.4动态类型语言支持
8.5基于栈的字节码解释执行引擎
8.6本章小结
第9章:类加载及执行子系统的案例与实战
9.1概述
9.2案例分析
9.3实战:自己动手实现远程执行功能
9.4本章小结
四、程序编译与代码优化
从计算机程序出现的第一天起, 对效率的追逐就是程序员天生的坚定信仰,这个过程犹如一场没有终点、永不停歇的F1方程式竞赛,程序员是车手,技术平台则是在赛道上飞驰的赛车。
第10章:前端编译与优化
10. 1概述
10.2 Javac编译器
10.3 Java语法糖的味道
10. 4实战:插入式注解处理器
10. 5本章小结
第11章:后端编译与优化
11. 1概述
11.2即时编译器
11.3提前编译器
11.4编译器优化技术
11.5实战:深入理解Gr aal编译器
11.6本章小结
五、高效并发
第12章:Java内存模型与线程
并发处理的广泛应用是AmdahI定律代替摩尔定律成为计算机性能发展源动力的根本原因,也是人类压榨计算机运算能力的最有力武器。
12.1概述
12.2硬件的效率与一致性
12.3 Java内存模型
12. 4 Java与线程
12.5 Java与协程
12.6本章小结
第13章:线程安全与 锁优化
并发处理的广泛应用是使得Amdahl定律代替摩尔定律成为计算机性能发展源动力的根本原因,也是人类“压榨”计算机运算能力的最有力武器。
13.1概述
13.2线程安全
13.3锁优化
13.4本章小结