diff --git a/docs/book/00-Preface.md b/docs/book/00-Preface.md index 30486a6..37019a4 100644 --- a/docs/book/00-Preface.md +++ b/docs/book/00-Preface.md @@ -2,18 +2,18 @@ # 前言 -> 本书基于 Java 8版本来教授目前最惯用的Java编码形式。 +> 本书基于 Java 8 版本来教授当前 JAVA 编程的最优实践。 -在此之前,我的另一本 Java 书籍 Thinking in Java 第4版(《Java编程思想》 Prentice Hall 2006)对于 Java 5的编程依然有指导意义。Java 5是用于 Android 编程的语言版本。 +在此之前,我的另一本 Java 书籍 Thinking in Java 第 4 版(《Java编程思想》 Prentice Hall 2006)对于 Java 5的编程依然有指导意义。Java 5 是用于 Android 编程的语言版本。 -随着 Java 8的出现,这门语言在许多地方发生了翻天覆地的变化。新的 Java 代码在使用和实现上与以往不尽相同。这也是为什么时隔两年后我创作了这本新书。《On Java 8》旨在面向已具有编程基础的开发者们。对于初学者,可以先在 [Code.org](http://Code.org) 或者 [Khan Academy](https://www.khanacademy.org/computing/computer-programming) 等网站上补充必要的前置知识。同时,[OnJava8.com](http://www.OnJava8.com) 上也有免费的 Thinking in C(《C编程思想》)专题知识。 +随着 Java 8 的出现,这门语言在许多地方发生了翻天覆地的变化。新的 Java 代码在使用和实现上与以往不尽相同。这也是为什么时隔两年后我创作了这本新书。《On Java 8》旨在面向已具有编程基础的开发者们。对于初学者,可以先在 [Code.org](http://Code.org) 或者 [Khan Academy](https://www.khanacademy.org/computing/computer-programming) 等网站上补充必要的前置知识。同时,[OnJava8.com](http://www.OnJava8.com) 上也有免费的 Thinking in C(《C编程思想》)专题知识。 与几年前我们依赖印刷媒体相比,像 YouTube,博客和 StackOverflow 这样的网站让寻找答案变得非常容易。请将这些与坚持不懈的努力相结合。你可以将本书作为你的编程入门书籍。同样她也适用于想要扩展知识的在职程序员。每次在世界各地的演讲中,我都非常感谢 Thinking in Java 这本书给我带来的所有荣誉。事实证明,这些荣誉对我现在的 [Reinventing Business](http://www.reinventing-business.com) 项目中和加强外界与公司的联系是非常宝贵的。最后,写这本书的原因之一是支持我 [Reinventing Business](http://www.reinventing-business.com) 重塑,似乎下一个合乎逻辑的步骤是实际创建一个所谓的蓝绿色组织(Teal Organization)。我希望这本书可以成为该项目的一种众筹。 ## 教学目标 -每章教授一个或一组相关的概念,并且这些知识不依赖于尚未学习到的章节。这样以来,学习者可以在当前知识的背景框架下循序渐进地掌握 JAVA 。 +每章教授一个或一组相关的概念,并且这些知识不依赖于尚未学习到的章节。这样以来,学习者可以在当前知识的背景框架下循序渐进地掌握 JAVA。 本书的教学目标: @@ -48,27 +48,27 @@ 新功能的设计与以往有很大不同。掌舵者开始重视程序员的编程经验。新功能最终都在努力使语言变得更好,而不仅仅是停留在快速添加想法而不深入研究它们的含义。有一些新功能实现上非常优雅(至少在 Java 约束下尽可能优雅)。 -我猜测可能是一些人离开设计组让他们意识到了这点。我没想到会有这些变化!因为这些原因吧,写这本书的体验要比以往的经历要好得多。Java 8包含了一系列基础和重要的改进。哎,不过 Java有严格的“向后兼容”承诺。所以可能我们不大可能看到戏剧性的变化,当然我希望我是错的。尽管如此,我很赞赏那些敢于自我颠覆,并为 Java设定更好路线的人。第一次,对于自己所写的部分 Java 8代码我终于可以说“我喜欢这个!” +我猜测可能是一些人离开设计组让他们意识到了这点。我没想到会有这些变化!因为这些原因吧,写这本书的体验要比以往的经历要好得多。Java 8 包含了一系列基础和重要的改进。哎,不过 Java有严格的“向后兼容”承诺。所以可能我们不大可能看到戏剧性的变化,当然我希望我是错的。尽管如此,我很赞赏那些敢于自我颠覆,并为 Java设定更好路线的人。第一次,对于自己所写的部分 Java 8代码我终于可以说“我喜欢这个!” -最后,本书所著时间似乎也很不错,因为 Java 8引入的新功能已经强烈的影响了今后Java的编码方式。截止我在写这本书时,Java 9似乎更专注于对语言底层的基础结构功能的重要更新,但是这些并不会影响本书所关注的编码类型。话说回来,得益于电子书出版形式的便捷,如果我发现本书有需要更新或添加的内容,我可以很快将新版本推送给现有读者。 +最后,本书所著时间似乎也很不错,因为 Java 8 引入的新功能已经强烈的影响了今后Java的编码方式。截止我在写这本书时,Java 9似乎更专注于对语言底层的基础结构功能的重要更新,但是这些并不会影响本书所关注的编码类型。话说回来,得益于电子书出版形式的便捷,如果我发现本书有需要更新或添加的内容,我可以很快将新版本推送给现有读者。 ## 测试用例 -本书中的代码示例基于 Java 8和 Gradle 编译构建,并且这些代码示例都保存在[这个自由访问的GitHub的仓库](https://github.com/BruceEckel/OnJava8-Examples) 中。我们需要内置的测试框架在每次构建系统时运行,否则你将无法保证自己代码的可靠性。为了在本书中实现这一点,我创建了一个测试系统来显示和验证大多数示例的输出结果。这个输出结果我会附加在示例结尾的代码块中。有时仅显示必要的那几行或者首尾行。利用这种方式来改善读者的阅读和学习体验,同时也提供了一种验证示例正确性的方法。 +本书中的代码示例基于 Java 8 和 Gradle 编译构建,并且这些代码示例都保存在[这个自由访问的GitHub的仓库](https://github.com/BruceEckel/OnJava8-Examples) 中。我们需要内置的测试框架在每次构建系统时运行,否则你将无法保证自己代码的可靠性。为了在本书中实现这一点,我创建了一个测试系统来显示和验证大多数示例的输出结果。这个输出结果我会附加在示例结尾的代码块中。有时仅显示必要的那几行或者首尾行。利用这种方式来改善读者的阅读和学习体验,同时也提供了一种验证示例正确性的方法。 ## 普及性 -Java 的普及性对于其受欢迎程度有重要意义。学习 Java 会让你更容易找到工作。相关的培训材料,课程和其他可用的学习资源也很多。对于企业来说,招聘 Java 程序员也相对容易。如果你不喜欢 Java 语言,那么最好不要拿他当作你谋生的工具,因为这种生活体验并不好。作为一家公司,在技术选型前一定不要单单只考虑 Java 程序员好招。每种语言都有其适用的范围,有可能你们的业务更适用于另一种编程语言来达到事半功倍的效果。如果你真的喜欢Java,那么欢迎你。希望这本书能丰富你的编程经验! +Java 的普及性对于其受欢迎程度有重要意义。学习 Java 会让你更容易找到工作。相关的培训材料,课程和其他可用的学习资源也很多。对于企业来说,招聘 Java 程序员也相对容易。如果你不喜欢 Java 语言,那么最好不要拿他当作你谋生的工具,因为这种生活体验并不好。作为一家公司,在技术选型前一定不要单单只考虑 Java 程序员好招。每种语言都有其适用的范围,有可能你们的业务更适用于另一种编程语言来达到事半功倍的效果。如果你真的喜欢 Java,那么欢迎你。希望这本书能丰富你的编程经验! ## 关于安卓 -这本书基于 Java 8版本。如果你是 Andriod 程序员,请务必学习 Java 5。在《On Java 8》出版的时候,我的另一本基于 Java 5的著作 Thinking in Java 4th Edition(《Java编程思想》第四版)已经可以在[www.OnJava8.com](http://www.OnJava8.com)上免费下载了。此外,还有许多其他专用于 Andriod 编程的资源。 +这本书基于 Java 8 版本。如果你是 Andriod 程序员,请务必学习 Java 5。在《On Java 8》出版的时候,我的另一本基于 Java 5的著作 Thinking in Java 4th Edition(《Java编程思想》第四版)已经可以在[www.OnJava8.com](http://www.OnJava8.com)上免费下载了。此外,还有许多其他专用于 Andriod 编程的资源。 @@ -86,7 +86,7 @@ Java 的普及性对于其受欢迎程度有重要意义。学习 Java 会让你 ## 版本说明 -本书采用 Pandoc 风格的 Markdown 编写,使用 Pandoc 生成 ePub v3格式。 +本书采用 Pandoc 风格的 Markdown 编写,使用 Pandoc 生成 ePub v3 格式。 正文字体为 Georgia,标题字体为 Verdana。 代码字体使用的 Ubuntu Mono,因为它特别紧凑,单行能容纳更多的代码。 我选择将代码内联(而不是将列表放入图像,因为我看过一些书籍),因为对我来说让读者能够在调整正文字体大小时,代码块也可自适应调整的功能非常重要(否则,买电子版,还图什么呢?)。 @@ -112,7 +112,7 @@ Java 的普及性对于其受欢迎程度有重要意义。学习 Java 会让你 感谢 Jeremy Cerise 和 Bill Frasure 来到开发商务虚会预订,并随后提供了宝贵的帮助。 -感谢所有花时间和精力来Crested Butte, Colorado(科罗拉多州克雷斯特德比特)镇参加我的研讨会,开发商务聚会和其他活动的人!你们的贡献可能没被轻易看到,但它非常重要! +感谢所有花时间和精力来 Crested Butte, Colorado(科罗拉多州克雷斯特德比特)镇参加我的研讨会,开发商务聚会和其他活动的人!你们的贡献可能没被轻易看到,但它非常重要!