译者序:
从1999年4月出版的《Java虚拟机规范(第二版)》至今,已经超过12年,虽然此规范在JDK 5发布的时候作了较大的更新,但却始终没有发布完整的规范。在今年6月28日,最新的《Java虚拟机规范(Java SE 7版)》终于完成并在7月份正式发布。对于想了解Java虚拟机的程序员来说,《Java虚拟机规范》是必须阅读的,对于想深入了解Java语言细节的程序员,阅读《Java虚拟机规范》也有极大好处,但是《Java虚拟机规范》、《Java语言规范》发布十余年,一直没有中文译本,这让中国不少对Java虚拟机感兴趣,但英语能力较弱的程序员都被拒之门外。
在2011年初,《Java虚拟机规范(Java SE 7版)》还是草稿状态时,我就开始关注这本书,并陆续对其中第1、2、6、7章进行了翻译,到2011年9月时完成了200余页的译稿。这时候又在国内著名Java社区ItEye中结识了另外两名译者吴璞渊和冶秀刚,我们在随后的两个多月的时间里共同完成了其余章节的翻译和校对。
《Java虚拟机规范》并非某一款虚拟机实现的说明书,它是一份保证各个公司的Java虚拟机实现具备统一外部接口的契约文档,书中的概念和细节描述曾经与Sun的早期虚拟机的实现高度吻合,但是随着技术的发展,高性能虚拟机真正的细节实现方式已经渐渐与虚拟机规范所描述的内容产生了越来越大的差距。原作者也在书中不同地方反复强调过:虚拟机规范中所提及的“Java虚拟机”皆为虚拟机的概念模型而非具体实现。实现只要保证与概念模型最终等效即可,而具体实现的方式无需受概念模型束缚。因此通过虚拟机规范去分析程序的执行语义问题(虚拟机会做什么)时,但分析程序的执行行为问题(虚拟机是怎样做的、性能如何)则意义不大,如需对具体虚拟机实现进行调优、性能分析等,我推荐在本书基础上继续阅读《Java Performance》和《Oracle JRockit The Definitive Guide》等书。
在翻译过程中,我们尽最大努力保证作品的准确性和可读性,力求在保证语义准确的前提下,尽可能使用通俗易懂的方式向给各位读者介绍Java虚拟机的约束与运作原理。为此目标,我们在专有技术名词、偏僻词中用括号保留了原文、专门在多处读者理解起来可能有困难的地方,添加了“译者注”加以解释。
囿于我们的水平和写作时间,书中难免存在不妥之处,大家如有任何意见或建议都欢迎通过以下邮件地址与我联系:icyfenix@gmail.com。
最后,请允许我再介绍一下本书三位译者的技术背景与分工:
周志明(www.icyfenix.com & weibo.com/icyfenix):远光软件平台开发部部门经理,平台架构师,不愿意脱离编码的一线码农。著有《深入理解Java虚拟机:JVM高级特性与最佳实践》。关注各种Java应用,略懂OSGi、Java虚拟机和工作流。在本书翻译工作中负责全文统稿;前言和第1、2、6、7章的翻译;第3、4、5章的校审工作。
吴璞渊(wupuyuan.iteye.com):就职于西门子,偏向程序和工作流设计,喜好Java各种新技术并倒腾。在本书翻译工作中负责第3章以及第4章的1至7节。。
冶秀刚(langyu.iteye.com):思科平台工程师,从事分布式系统的研究与开发,爱好Java平台技术且正在努力成长中。在本书翻译工作中负责第5章及第4章的9至11节。
让我们感谢这三位大牛吧,感谢他们无私的奉献!!!
1