- 前言
- 第2版与第1版的区别
- 本书面向的读者
- 如何阅读本书
- 语言约定
- 内容特色
- 参考资料
- 第一部分 走近 Java
- 第1章 走近 Java
- 第二部分 自动内存管理机制
- 第2章 Java 内存区域与内存溢出异常
- 第3章 垃圾收集器与内存分配策略
- 第4章 虚拟机性能监控与故障处理工具
- 第5章 调优案例分析与实战
- 第三部分 虚拟机执行子系统
- 第6章 类文件结构
- 第7章 虚拟机类加载机制
- 第8章 虚拟机字节码执行引擎
- 第9章 类加载及执行子系统的案例与实战
- 第四部分 程序编译与代码优化
- 第10章 早期(编译期)优化
- 第11章 晚期(运行期)优化
- 第五部分 高效并发
- 第12章 Java 内存模型与线程
- 第13章 线程安全与锁优化
- 附录
- 附录A 编译 Windows 版的 OpenJDK
- 附录B 虚拟机字节码指令表
- 附录C HotSpot 虚拟机主要参数表
- 附录D 对象查询语言(OQL)简介[1]
- 附录E JDK 历史版本轨迹
参考资料
本书名为 深入理解Java虚拟机,但要想深入理解虚拟机,仅凭一本书肯定是远远不够的,读者可以通过以下信息找到更多关于Java虚拟机方面的资料。我在写作此书的时候,也从下面这些参考资料中获得了很大的帮助。
(1)书籍
《The Java Virtual Machine Specification,Java SE 7 Edition》[1]
要学习虚拟机,无论如何都必须掌握 Java虚拟机规范。这本书的概念和细节描述与Sun的早期虚拟机(Sun Classic VM)高度吻合,不过,随着技术的发展,高性能虚拟机真正的细节实现方式已经渐渐与虚拟机规范所描述的差距越来越大,如果只能选择一本参考书来了解虚拟机,那我推荐这本书。此书的Java SE 7版在2011年7月出版发行,这是自1999年发布的《Java虚拟机规范(第2版)》以来的第一次版本更新。笔者对Java SE 7版的全文进行了翻译,并与原书一样在网上免费发布了全文PDF[2]。
《The Java Language Specification,Java SE 7 Edition》[3]
虽然虚拟机并不是Java语言专有的,但是了解Java语言的各种细节规定对理解虚拟机的行为也是很有帮助的,它与上一本《Java虚拟机规范》都是Sun官方出品的书籍,而且这本书还是由Java之父James Gosling亲自执笔撰写的。这本书也与《Java虚拟机规范》一样,可以在官方网站完全免费下载到全文PDF,但暂时没有中文译本,《Java语言规范(第3版)》于2005年7月由机械工业出版社引进出版。
《Oracle JRockit The Definitive Guide》
《Oracle JRockit权威指南》,2010年7月出版,国内也没有(可能是尚未)引进这本书,它是由JRockit的两位资深开发人员(其中一位还是JRockit Mission Control团队的TeamLeader)撰写的JRockit虚拟机高级使用指南。虽然JRockit的用户量可能不如HotSpot多,但也是目前最流行的三大商业虚拟机之一,并且不同虚拟机中的很多实现思路都是可以对比参照的。这本书是了解现代高性能虚拟机很好的参考资料。
《Inside the Java 2 Virtual Machine,Second Edition》
《深入Java虚拟机(第2版)》,2000年1月出版,2003年由机械工业出版社出版其中文译本。在相当长的时间里,这本书是唯一的一本关于Java虚拟机的中文图书。
《Java Performance》
《Java Performance》是“The Java”系列(许多人都读过该系列中最出名的《Effective Java》)图书中最新的一本,2011年10月出版,暂时没有中文版。这本书并非全部都围绕Java虚拟机(只有第3、4、7章直接与Java虚拟机相关),而是从操作系统到基于Java的上层程序性能度量和调优的全面介绍,其中涉及Java虚拟机的内容具备一定的深度和可实践性。
(2)网站资源
高级语言虚拟机圈子:http://hllvm.group.iteye.com/
里面有一些国内关于虚拟机的讨论,并不只限于JVM,而是涉及对所有的高级语言虚拟机(High-Level Language Virtual Machine)的讨论,但该网站建立在ITEye上,自然还是以讨论Java虚拟机为主。圈主RednaxelaFX(莫枢)的博客(http://rednaxelafx.iteye.com/)是另外一个非常有价值的虚拟机及编译原理等资料的分享园地。
HotSpot Internals:https://wikis.oracle.com/display/HotSpotInternals/Home
一个关于OpenJDK的Wiki网站,许多文章都由JDK的开发团队编写,更新较慢,但是仍然有很高的参考价值。
The HotSpot Group:http://openjdk.java.net/groups/hotspot/
HotSpot组群,包含虚拟机开发、编译器、垃圾收集和运行时4个邮件组,其中有关于HotSpot虚拟机的最新讨论。
[1]官方地址:http://docs.oracle.com/javase/specs/jvms/se7/jvms7.pdf。
[2]官方地址:http://docs.oracle.com/javase/specs/jls/se7/jls7.pdf。
[3]中文译本地址:http://icyfenix.iteye.com/blog/1256329。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论