2013年第一次与朱劼编辑接触谈到翻译这本书的时候,我们觉得翻译难度很大。因为这本书的译文已经出版到第4版,如果更新不多,这一版就会变得可有可无;而且读者很可能会与较早版本的译文质量进行比较,稍有差池就会被诟病。经过一个多月的接洽,我们最终接下这本书的翻译任务,因为我们发现本书内容很有特点。
原书第5版写于Oracle公司收购Sun公司后,是根据Java SE 7版本及其API编写的,因此它是Oracle和Java Community Process的结合体,对原书第4版有很大改进,包括:介绍了Java的一些新特性,如NIO.2的内容、新的文件I/O API和将遗留代码迁移到这些新API的相关信息等;将实际项目Coin的开发内容插入相应章节,包括try-with-resources语句、单个异常处理器捕获多种类型异常的能力等;将原有的有关部署的内容扩展成第18章和第19章;介绍了泛型中的diamond语法等。第5版重写了第6、16、17章的内容,更新了附录中关于Java认证考试的内容,还更新了书中涉及的大部分实例。另外,第5版与以前的版本一样,也提供在线帮助,具体网址会在前言部分提到。
我们在开始翻译之前,在网上查看了一些关于不同译著的评论,总结出译文被诟病的两个方面:多直译,少意译,译文表述不符合中文的表述习惯;专业术语前后不一致。因此翻译这一版时在尊重技术和原文的基础上,尽可能关注这两个方面,对于发现的原书第5版中的错误,也在译稿中做了修正。
机缘巧合,在我们完成并交付这本书的译稿初稿时,被告知本书计划在2015年Java 20周年庆档期出版,出版社希望我们尽快完成译文的审校工作以配合出版。我们很高兴这一版中译本赶上Java的这一盛事,也希望此译本能给读者带来新的收获。
参与本书翻译的老师有:上海交通大学计算机科学与工程系董笑菊博士(翻译第7~12章)、上海第二工业大学工学部计算机应用工程系薛建新博士(翻译第1~6章和附录)、上海交通大学计算机科学与技术系吴帆博士(翻译第13~19章)。虽然我们已经对译稿进行仔细校对和整合,使译文尽可能符合中文习惯和保持术语的一致性,但鉴于水平有限且工作量大,译文一定还存在许多不足之处,在此敬请各位同行专家和广大读者批评指正,欢迎大家将相关意见、建议以及发现的错误发送到邮箱:basics@sjtu.edu.cn。感谢机械工业出版社,尤其是朱劼和李艺编辑,没有她们的信任、耐心与支持,整个翻译工作不可能完成。
2015年1月
译者于上海