该书列出了相关参考资料:
第一类:相关书籍
1、《Java虚拟机规范》
要学习虚拟机,《Java虚拟机规范》无论如何都是必须读的。这本书的概念和细节描述与Sun的早期虚拟机(Sun Classic虚拟机)高度吻合,随着技术的发展,高性能虚拟机真正的细节实现方式已经渐渐与虚拟机规范所描述的方式差距越来越大,如果只能选择一本参考书来了解Java虚拟机,那必然是这本书。
2、《Java语言规范》
虽然Java虚拟机并不是Java语言专有的,但是了解Java语言的各种细节规定对虚拟机的行为也是很有帮助的,它与《Java虚拟机规范》一样都是Oracle官方直接出版的书籍,而且这本书还是由Java之父James Gosling亲自执笔撰写。
3、《垃圾回收算法手册:自动内存管理的艺术》
2016年3月由机械工业出版社引进翻译,这是一本真正的教科书式的学术著作,是垃圾收集技术领域中的唯一必读的书籍。该书从硬件与软件的发展给垃圾回收所带来的新挑战出发,探讨了这些挑战给高性能垃圾回收器的设计者与实现者所带来的影响,涵盖了并行垃圾回收、增量式垃圾回收、并发垃圾回收以及实时垃圾回收,描述各种算法与概念。唯一缺点是由于过于专业,所以显得比较晦涩,不适合作为入门书籍使用。
4、《Virtual Machines:Versatile Platforms for Systems and Processes》
这是一本虚拟化技术的百科全书,帮助读者理解“虚拟机”一词到底指代什么,有什么不同类型,大概有哪些实现方法等。此书并不直接针对Java虚拟机,出版于2005年,而且国内并没有中文版,但即使有这些因素限制,仍然推荐读者阅读此书以建立对虚拟机的全局性观念。
5、《Java性能优化权威指南》
此书是“The Java”系列(该系列中最出名的《Effective Java》许多人都读过)图书中最新的一本,但也有一定的历史了。2011年10月出版,2014年3月由人民邮电出版社引进翻译。这本书并非全部都围绕Java虚拟机展开(只有第3、4、7章直接与Java虚拟机相关),而是从操作系统到基于Java的上层程序性能度量和调优进行全面介绍。其中涉及Java虚拟机的内容具备一定深度和很好的可实践性。
第二类:相关学习网站
1、高级语言虚拟机圈子:高级语言虚拟机。
里面有一些关于虚拟机的讨论,并不只限于Java虚拟机,包括了所有针对高级语言虚拟机(High-Level Language Virtual Machine)的讨论,不过该网站针对Java虚拟机的讨论还是绝对的主流。圈主RednaxelaFX(莫枢)的博客(http://rednaxelafx.iteye.com/)是另外一个非常有价值的虚拟机及编译原理等资料的分享园地。
2、HotSpot Internals:HotSpot Internal。
这是一个关于OpenJDK的Wiki网站,许多文章都由JDK的开发团队编写,更新很慢,但是有很大的参考价值。
3、The HotSpot Group:The HotSpot Group。
HotSpot组群,里面有关于虚拟机开发、编译器、垃圾收集和运行时四个邮件组,包含了关于HotSpot虚拟机最新的讨论。