这本书买了有两年了,只有买回来翻了两页。。。今天电脑有点卡,游戏玩不了了,就来看看这本书。
首先看了序言,这本书是第二版,讲解的jdk版本是1.7,现在公司用的1.8,而且1.8的改动也挺大的,不过在虚拟机内部实现这一块好像没什么关系,将就看吧。
第一版是在1.6的基础上讲解的,第二版除了是对jdk1.7的重新讲解之外,会增加对OpenJDK源码的分析。
知识点:JDK从1.5开始,在官方的正式文档和宣传资料里已经不再使用‘JDK1.5’的名称,只有程序员内部使用的开发版本号(Developer Version,列如java-version的输出)才继续沿用1.5、1.6和1.7的版本号,而公开版本号(Product Version)则改为JDK5、JDK6和JDK7的命名方式
作者提供的本书的大纲目录:
第一部分 走进java
1. 介绍了java体系的过去,现在和未来的一些发展趋势,并介绍了如何独立编译一个OpenJDK7
第二部分 自动内存管理机制
2. 讲解虚拟机中内存是如何划分的,以及内存溢出
3. 分析了垃圾收集的算法和JDK1.7中提供的几款垃圾街收集器的特点及运作原理
4. 6个命令行工具与2个可视化的故障处理工具的使用方法。
5. 分享实例
第三部分 虚拟机执行子系统
6. class文件结构中的各个组成部分,以及每个部分的定义,数据结构和使用方法
7. 类加载过程的‘加载’,“验证”、“准备”、“解析”和“初始化”5个阶段虚拟机分别执行了那些动作,类加载器的工作原理和对虚拟机加的意义
8. 虚拟机在执行代码时如何找到正确的方法,如何执行方法的字节码,以及执行代码时设计的内存结构
9. 4个类加载及执行子系统的案例
第四部分 程序编译与代码优化
10. 泛型、主动装箱和拆箱、条件编译
11. 虚拟机的热点探测方法,hotspot的即时编译器、编译触发条件
第五部分 高效并发
12. java内存模型的结构及操作,以及原子性、可见性和有序性在java内存模型中的体现,介绍了先行发生原则的规则及使用,线程在java中如何实现
13. 线程安全,同步的实现方式,虚拟机底层运作原理,虚拟机实现高效并发所采取的一系列锁优化措施