月半小夜曲 发表于 2019-12-6 17:31:15

电子书:《EffectiveJava中文版(原书第3版)》_俞黎敏译_2018-12-11

504
                       



内容简介:

松。我希望第2版能够体现出我对Java平台持续的热情,并将这种热情传递给你,帮助你更
加高效和愉快地使用Java平台及其新的特性。
Joshua bloch
2008年4月
第1版前言
1996年,我打点行囊,西行来到了当时的 Javasoft,因为我很清楚那里将会出现奇迹
在这5年间,我是Java平台库的架构师。我设计、实现和维护过许多类库,同时也担任其他
一些库的技术顾问。随着Java平台的成熟和壮大,主持这些类库的设计工作是一个人一生中
难得的机会。毫不夸张地说,我有幸与一些当代最杰出的软件工程师一起工作。在这个过程
中,我学到了许多关于Java程序设计语言的知识—它能够做什么,不能够做什么,以及如
何最有效地使用这门语言及其类库。
本书是我的一次尝试,希望与你分享我的经验,你可以因此而吸取我的经验,避免重复
我的失败。本书中我借用了 Scott Meyers的《 Effective C++》一书的格式,该书中包含50个
条目,每个条目给出一条用于改_进.程_序和设计的规则。我觉得这种格式非常有效,希望你也
有这样的感觉
在许多例子中,我冒昧地使用了Java平台库中的真实例子来说明相应的条目。在介绍那
些做得不是很完美的工作时,我尽量使用我自己编写的代码,但是偶尔我也会使用其他同事
代码。尽管我尽力做得更好一点,但是如果我真的冒犯了他人,我先在这里致以最诚挚的
揿意。引用反面例子是出于协作的精神,而不是要羞辱例子中的做法,我希望大家都能够从
我们过去的错误经历中得到启发
尽管本书并不只是针对可重用组件开发人员的,但是过去20多年来我编写此类组件的
经历一定会影响这本书。我很自然地会按照可导出API( Application Programming Interface
的方式来思考问题,而且我建议你也这样做。即使你并没有开发可重用的组件,这样的思考
方法也将有助于你提升软件的质量。进一步来说,毫无意识地编写可重用组件的情形并不少
见:你编写了一些很有用的代码,然后在同伴之间共享,不久之后你就有了很多用户。这时
候,你就不能随心所欲地改变API了,并且如果你刚开始编写软件的时候在设计API上付出
了较多的努力,那么这时你就会非常庆幸了
我把焦点放在API的设计上,这对于那些热衷于新兴的轻量级软件开发方法学(比如

Extreme Programming,即“极限编程”,简称XP)的读者来说,也许会显得有点不太自然。
这些方法学强调编写最简单的、能够工作的程序。如果你正在使用此类的某种程序设计方
法,那么你会发现,把焦点放在API设计上对于“重构”( refactoring)过程是多么有益。重
构的基本ri标是改进系统结构,以及避免代码重复。如果系统的组件没有设计良好的API
要达到这样的目标则是不可能的
没有一门语言是完美的,但是有些语言非常优秀。我认为Java程序设计语言及其类库非
常有益于提高代码质量和工作效率,并使得编码工作成为一种乐趣。我希望本书能够抓住
的热情并传递给你,帮助你更有效地利用Java语言,使工作变得更加偷快
Joshua bloch
Perlino, California

致谢
第3版致谢
我要感谢本书前两版的读者给予本书如此热情的好评,感谢他们将书中的理念铭记在
感谢他们让我知道该书给他们及其工作带来了怎样积极的影响。感谢许多教授在教学中
采用了本书,感谢许多开发团队应用了本书。
我要感谢 Addison- Wesley和 Pearson的整个团队,感谢他们的诚恳、专业、耐心,以及
极端压力之下所体现出来的从容。编辑 Greg doench自始至终保持镇定自若:他是一名优秀
的编辑,同时也是一位完美的绅士。我担心在这个项目结束时,他会为此增添不少银丝,为
此我深表歉意。产品经理 Julie nahil和项目编辑 Dana wilson具备了应该具备的一切:勤奋
敏捷、训练有素,且待人和气。文字编辑 Kim Wimpset-丝不苟,富有鉴赏能力。
我有幸再一次得到了所能想到的最佳审校团队的支持,真诚地感谢他们中的每一位。核
心团队负责审校每一个章节,他们包括: Cindy Bloch、 Brian Kernighan、 Kevin Bourrillion、Joe
Bowbeer, William Chargin、 Joe Darcy、 Brian Goetz、 Tim Halloran、 Stuart marks、 Tim Peierls以
及 Yoshiki shibata。其他审校人员包括: Marcus biel、 Dan bloch、 Beth botton、 Martin buchholz
Michael Diamond、 Charlie garrod、 Tom hawtin、 Doug lea、 Aleksey Shipilev、Lou
Wasserman以及 Peter Weinberger。这些审校人员再次提出了大量的建议,使本书得到了极大
的改善,也让我避免了诸多尴尬局面。
我要特别感谢 william Chargin、 Doug Lea和 Tim Peierls,他们成了书中许多理念的倡导
者,并为本书毫不吝惜地奉献了他们的时间和学识
最后,我要感谢妻子 Cindy Bloch,她鼓励我写作,阅读了初稿中的每个条目,为我编
写索引,帮我打理在完成全书工作时难免发生的一切事务,在我写作的时候一直对我十分

XIV
第2版致谢
我要感谢本书第1版的读者给予本书如此热情的好评,感谢他们将书中的理念铭记在
心,感谢他们让我知道本书给他们以及他们的工作带来了怎样积极的影响。感谢许多教授在

教学中采用了本书,感谢许多开发团队应用了本书
我要感谢 Addison- Wesley的整个团队,感谢他们的诚恳、专业、耐心,以及压力之下所
体现出来的从容。编辑 Greg Doench自始至终保持镇定自若:他是一名优秀的编辑,同时也
是一位完美的绅士。产品经理 Julie nahil具备了产品经理应该具备的一切:勤奋、敏捷、训
练有素,且待人和气。文字编辑 Barbara wood一丝不苟,富有鉴赏能力。
我有幸再一次得到了所能想到的最佳审校团队的支持,我真诚地感谢他们中的每一位
核心团队负责审校每一个章节,他们包括: Lexi Baugher、 Cindy Bloch、 Beth bottom、Joe
Bowbeer、 Brian goetz、 Tim Halloran、 Brian Kernighan、 Rob Konigsberg、 Tim Peierls、Bill
Pugh、 Yoshiki Shibata、 Peter Stout、 Peter Weinberger以及 Frank Yellin。其他审校人员包括
Pablo bellver、 Dan bloch、 Dan bornstein、 Kevin Bourrillion、 Martin buchholz、 Joe Darcy
Neal After、 Laurence gonsalves、 Aaron Greenhouse、 Barry Hayes、 Peter Jones、 安gelika
Langer、 Doug Lea、 Bob lee、 Jeremy Manson、 Tom May、 Mike McCloskey、 安driy
Tereshchenko以及 Paul Tyma。这些审校人员再次提出了大量的建议,使本书得到了极大的改
善,也让我避免了诸多尴尬。剩下的任何错误都是我自己的责任
谢 Doug lea和 Tim Peierls,他们成了书中许多理念的倡导者。Doug和Tim
为本书毫不吝惜地奉献了他们的时间和学识。
我要感谢我在 Google公司的经理 Prabha Krishna,感谢她持续不断的支持和鼓励
最后,我要感谢我的妻子 Cindy Bloch,她鼓励我写作,阅读了初稿中的每个条目,用
Framemaker帮我排版,为我编写索引,在我写作的时候一直对我十分宽容
第1版致谢
我要感谢 Patrick Chan建议我写这本书,并将这样的想法传达给此系列图书的主编Lisa
Friendly和此系列图书的技术编辑 Tim Lindholm;以及 Addison-Wesley出版社的执行编辑
Mike hendrickson。感谢Lisa、Tim和Mike对我的鼓励,以及认定我终有一天可以完成此书
而保持的耐心和坚定的信念
感谢 James Gosling及其原始团队给予我这么好的写作题材。也感谢众多追随 James足迹
的Java平台工程师。特别要感谢我在Su公司的 Java platform Tools和 Libraries Group的同
事们,感谢他们的见解、鼓励和支持。这个团队由 安drew bennett、 Joe Darcy、 Neal After
非卖品,仅供非商业用途或交流学习使用

Iris garcia、 Konstantin Kladko、 lan Little, Mike McCloskey和 Mark reinhold组成。前一个
团队的成员还包括 Zhenghua Li、 Bill Maddox和 Naveen Sanjeeva
我要感谢我的经理 安drew Bennett和我的领导 Larry Abrahams对这个写作计划的热情支
感谢 Java Software工程副总裁 Rich Green,他提供的环境让工程师能够以
的方式去自由思考并发表成果
我拥有一个你所能想象的最佳审校团队,我要把我最真诚的感谢献给他们: 安drew
Bennett、 Cindy bloch、 Dan bloch、 Beth botton、 Joe Bowbeer、 Gilad Bracha、Mary
Campione、 Joe Darcy、 David Eckhardt、 Joe Fialli, Lisa Friendly、 James Gosling、 Peter
Haggar、 David holmes、 Brian Kernighan、 Konstantin Kladko、 Doug lea、 Zhenghua Li、Tim
Lindholm、 Mike McCloskey、 Tim Peierls、 Mark Reinhold、 Ken russell, Bill shannon、 Peter
Stout和 Phil wadler,以及两位未署名的审校者。他们提出了很多建议,使本书获得了极大的
改善,也让我避免了诸多尴尬局面。剩下的任何错误都是我自己的责任
许多同事,包括Sun公司上上下下的员工,都参与了本书的技术讨论,从而提升了本书
的质量。其中 Ben gomes、 Steffen Grarup、 Peter Kessler、 Richard roda、 John rose和 David
Stoutamire贡献了极有用的深刻见解。我还要特别感谢 Doug lea,他在本书许多构想中
产生共鸣。他也无私地将其时间和知识都亳无保留地分享给了我
谢 Julie dinicola、 Jacqui Doucette、 Mike hendrickson、 Heather Olszyk、 Tracy Russ,以
及 Addison- Wesley出版社的整个支持团队,感谢他们的支持和专业。即使处于一种几乎不可
能的紧张进度中,他们还是始终保持友善和通融。
感谢 Guy Steele为我写序。我很荣幸能有他参与这个项目。
最后,要感谢我的妻子 Cindy Bloch,感谢她鼓励并偶尔催促我撰写本书,感谢她阅读
本书刚出炉的每一个条目,感谢她用 Framemaker帮助我排版,还编写本书的索引,并在我
写作期间始终对我十分宽容
非卖品,仅供非商业用途或交流学习使用


#############################################


泡沫之夏 发表于 2019-12-21 20:06:28



免费下载地址:

http://pan.qqq0.com/file/488067-425768327

页: [1]
查看完整版本: 电子书:《EffectiveJava中文版(原书第3版)》_俞黎敏译_2018-12-11