前言
专业级java
企业级java
商用java
因为有着更重要的原因,以上这些在语言中很平常的词语在这些天被讨论着。在过去的那些日子里java曾被看作是一个只能制作网页游戏的语言,觉得它毫无可能赶上C、C++这些它的大兄弟们。当AWT和Swing(还有现在的SWT)成为java语言的重要部分的时候,java也发展到了可以承担更广泛的任务-数据库交互、金融管理、电子商务等等。它的速度可以与C相比,它的类库越来越庞大。结果,java语言的核心经历了重大的改进,java1.3还有1.4,这大步前进步伐不但显著的改变着它,而且使java平台愈加成熟。
现在到了java1.5-代号Tiger(老虎)。事实上,它是java5,版本1.5。它也是j2se,我假设它是 java 2, Standard Edition,5,version1.5。这足够使你糊涂了吗?谢天谢地,不管这东西叫什么,这些增加的东西是有着它喧闹的价值的,它不再是以前的java了!
Tiger看起来更像是一个全新的产品而不只是对一个旧语言的修正。Tiger充满了戏剧性的变化在你所熟悉的简单java里。你不可能仅仅通过阅读它的发布文档就能构建出它的轮廓来。因为这些新的特性比它以往的所有版本增加的特性都重要。在这本书里我将叫它Tiger,而省去叫Java 2 Version 5或 java1.5等等之类的麻烦。
不管Tiger最终会被官方称为什么,它为这门语言带来了如此之多的新特性,以至于用了将近200页来描述它们。你将会发现这本书的每一页都写满了代码、例子和简洁的说明。没有任何浪费的空间。事实上,这正好是你需要的东西,一个关于下一代java的简明速成课程。在你浏览本书的时候,你将敲下你自己的列表,带你的重载到一个全新的水平,写下编译时检验的annotations,而线程将比以前更有效率。把所有的新特性加入你的代码中,不能想象这将多么的有趣。直到把@、、、和%散布到你的编辑器中去,你才能感到这些,哦,也许这只是我个人想在工作间里有更多的乐趣而已。不管什么原因使你学习Tiger,总之你会发现比以前更多的可支配的工具,比从java最初的1.0版以来的任何版本更多的改变。点燃你的代码编辑器,系好你的安全带,准备好去冲击这跑道吧。
让我们驯服这老虎!
组织
本书有许多的课程练习和目录。对于课程练习你应该从头到尾的阅读。而对于目录你可以随时跳过他们,这没什么关系。在很大程度上,你可以很方便的浏览目录或索引,可以发现你要找的东西。可是,本书的大部分主题是有着相互联系的(例如:generics,for/in语句和autoboxing),你也许会发现要理解当前主题就必须了解前一章所提到的知识。在这种情况下,你应该浏览一下所引用的章节。无论如何一点额外学习是件好事,不是吗?
本书书写的方式
本书是一个不寻常的产物,是David Flanagan 和
Brett McLaughlin合作的果实。David 从事于《Java in a Nutshell》第五版撰写工所,但是他希望比那本书所预定的出版时间更早的介绍Tiger中语言的主要变化。
Brett,当时是《Developer`s NoteBooks》这一创新的系列图书的主力编辑,他渴望在这个系列图书中能有点Tiger的内容。
整本书的制作过程是这样的:
David为了《Java in a Nutshell》研究着Tiger的新特性,并且把它们记录下来。他再把写下的草稿发送给
Brett。
Brett兴奋的陶醉在这些片断中,他差不多将它们全面重写,加入了新的例子,并且按Developer`s Notebook 系列书的格式将所有的资料重新组织。
所以这本书几乎全部都是
Brett完成的,而这一切是建立在David研究的基础上的。本书书写的口味和迷人的风格是属于
Brett的。读过本书和《Java in a Nutshell》的读者将会发现不少相同的片断。在许多情况下,
Brett使用的代码例子也会出现在《Java in a Nutshell》中,这样的例子在本书中会被标记出来。
关于代码实例
这本书有上百个代码实例,遍布于全书的各个地方。在书中有些代码被完整的列了出来,而有些只是列出了片断。也许有些读者喜欢自己敲入所以的这些程序,但我们中的大多数却没有那么多的时间。正因为如此,所有的例子都被压缩成了一个java档案文件,以便于下载。并且,这个编译的过程(尤其是类路径的设置)一直是java最易出错的问题之一。为了帮助大家,这个档案文件中包括了Ant buildfile :build.xml。你所需要的是下载并安装Ant,充分利用builfile的好处,我强烈推荐你这么做。Ant的安装是简单的,如果你有需要可以参考《Ant: The Definitive Guide (O'Reilly)》。你的目录结构看起来想下面这样:
?
???? |
?
???? +--src (contains build.xml)
?
???? |
?
???? +--classes
?
到你本地的src目录下,输入ant.如果你没有正确的安装ant你将得到一个错误,否则你将看到以下的内容:
?
?? ${basedir}\code\srcant
?
?? Buildfile: build.xml
?
??
?
?? compile:
?
??????? [echo] Compiling all Java files...
?
?????? [javac] Compiling 41 source files to code\classes
?
?????? [javac] Note: code\src\com\oreilly\tiger\ch06\DeprecatedTester.java
?
????????????????? uses or overrides a deprecated API.
?
?????? [javac] Note: Recompile with -Xlint:deprecation for details.
?
?????? [javac] Note: Some input files use unchecked or unsafe operations.
?
?????? [javac] Note: Recompile with -Xlint:unchecked for details.
?
??????
?
?? BUILD SUCCESSFUL
?
?? Total time: 9 seconds
?
Build.xml中的其他任务我将留给你自己去发现。
你可以在www.oreilly.com/catalog/javaadn/ 下载这些实例代码。
联系我们
Please address comments and questions concerning this book to the publisher:
?
?? O'Reilly Media, Inc.
?
?? 1005 Gravenstein Highway North
?
?? Sebastopol, CA 95472
?
?? (800) 998-9938 (in the United States or Canada)
?
?? (707) 829-0515 (international or local)
?
?? (707) 829-0104 (fax)
?
We have a web page for this book, where we list errata, examples, or any additional information. You can access this page at:
www.oreilly.com/catalog/javaadn/
To comment or ask technical questions about this book, send email to:
For more information about our books, conferences, Resource Centers, and the O'Reilly Network, see our web site at: