




的
x
附:近
年来,我在业界的最佳实践方面花费了大量的精力
。
自
2
0
世纪
50
年代诞生这
个
行业以来,我
们
已经自由
地
重新实现了彼
此的
API
。
这个实践对于计算机技术的快速成功
至关重要
。
我始
终积极
地致力
于维护这种自由[
CompSci
17
],并
且鼓励你们也加入到这
个行列中来
。
我们的专业要想持续健康地发展,确保重新实现各自
API
的权利显得尤为
重要
。
第
2
版前言
自从我于
2001
年
写了本
书的
第
l
版之后,
Java
平台又
发生了很多变
化
,是该
出第
2
版的
时候了
。
Java
5
中
最为重要的变化是增
加了泛
型、枚举类型、注解、自动装箱
和
f
or
-
each
循环
。
其次是增加了新的并发类库:
j
ava
.
util
.
concurrent
。
我和
Gilad
Bracha
一起,
有幸带领团
队设计了
最新
的语
言特性
。
我还有幸
参
加了设计和开
发并发类库
的团队,这个团
队由
Doug
Lea
领导
。
Java
平
台中
另一个大的变
化
在于广泛采用了现代的
IDE
( Integrated Development Envi-
ronment
),例如
Ec
lipse
、
IntelliJ
IDEA
和
NetBeans
,以
及静态分析工具
的
IDE
,如
FindBugs
。
虽然
我还未
参与这部分工
作,但已
经从中
受益匪浅,并且
很清楚它们对
Java
开发体验所带来
的影响
。
2004
年,我
离开
Sun
公司到了
Google
公司
工作
,但在过
去的
4
年中,我仍然继
续参与
Java
平台的开
发
,
在
Google
公司和
JCP
( Java Community
Process
)的大
力帮助下,继
续并发
和
|
集合
API
的开
发
。
我还有幸利用
Java
平台去开发供
Google
内部使用的类库
。
现在我了解
了作为一名用户的感受
。
我在
2001
年
编写第
l
版的时候,
主要目的是与读者分享我
的经验
,便于
让大
家避
免我所走过的弯路,使大家更容易成功
。
新版仍然大量采用来自
Java
平台
类库
的
真实
范例
。
第
l
版所带来的反应远远超出了我最大的预期
。
我在收集所有新的资料以使本书保持最
新时,尽可能地保持了资料的真实
。
毫无疑
问
,本书的篇幅肯定会增
加,从
57
个
条目发展
到了
78
个
。
我不仅增加了
23
个条目,并且修改了原来的所有资料,并删去了
一些
已
经
过时
的条目
。
在附录中,你可以看到本书中的内容与第
l
版的内容的对照情况
。
在第
1
版的前
言中
我说过:
Java
程序设计语
言和它
的类库非常有益于代码质
量与效率
的
提高,并且使得用
Ja
va
进行编
码成为一种乐趣
。
Java
5
和
Java
6
发行版中的变化是好事,这
也使
Java
平台日趋
完善
。
现在这个平台比
2001
年的要大得多,
也
复杂得多
,但
是一旦掌握
了使用新特性的模式和习惯用法,它们就会使你的程序变得更完美,使你的工作变得更轻