本书内容

本书前 6 章介绍 Java 语言和 Java 平台——这些内容一定要仔细阅读。这本书偏向 Oracle/OpenJDK(Open Java Development Kit)对 Java 的实现,但又不局限于此,使用其他 Java 环境的开发者仍然能看到很多对其他环境的介绍。第一部分包括如下内容。

  • 第 1 章 Java 环境介绍

这一章概述 Java 语言和 Java 平台,说明 Java 的重要特性和优势,包括 Java 程序的生命周期。最后会介绍 Java 的安全性,并回应一些针对 Java 的批评。

  • 第 2 章 Java 基本句法

这一章详细介绍 Java 编程语言,包括 Java 8 的改动。这一章内容很多,也很详细,不过阅读前不需要读者有大量编程经验。有经验的 Java 程序员可以把这一章当成语言参考。有大量 C 和 C++ 开发经验的程序员阅读这一章之后,也能快速了解 Java 的句法。只有少量编程经验的初学者经过认真阅读,应该也能学会 Java 编程,不过最好再结合其他资料一起学习,例如 Bert Bates 和 Kathy Sierra 合著的 Head First Java(O'Reilly 出版,http://shop.oreilly.com/product/9780596009205.do)。

  • 第 3 章 Java 面向对象编程

这一章介绍如何利用第 2 章介绍的 Java 基本句法,使用类和对象编写简单的面向对象程序。这一章不要求读者有面向对象编程经验。新手程序员可以将其当成教程,有经验的 Java 程序员则可以当作参考。

  • 第 4 章 Java 类型系统

这一章以前面对 Java 面向对象编程的说明为基础,介绍 Java 类型系统的其他方面,例如泛型、枚举类型和注解。全面地了解类型系统之后,我们就可以讨论 Java 8 最大的变化了——lambda 表达式。

  • 第 5 章 Java 的面向对象设计

这一章概述设计可靠的面向对象程序所需的一些基本技术,还会简单介绍一些设计模式及其在软件工程中的用处。

  • 第 6 章 Java 实现内存管理和并发编程的方式

这一章讨论 Java 虚拟机代替程序员管理内存的方式,以及内存、可见性与 Java 并发编程和线程之间错综复杂的关系。

前 6 章教你如何使用 Java 语言,也介绍了 Java 平台最重要的概念。本书第二部分则告诉你如何在 Java 环境中完成实际的编程任务。这部分包含大量示例,以攻略方式撰写。第二部分包括如下内容。

  • 第 7 章 编程和文档约定

这一章介绍 Java 编程中重要且运用广泛的重要约定,还会介绍如何使用特定格式的文档注释来让 Java 代码进行自我文档化。

  • 第 8 章 使用 Java 集合

这一章介绍 Java 的标准集合库,包含几乎对每个 Java 程序都很重要的数据结构,例如 ListMapSet。此外,还会详细介绍新引入的 Stream 抽象,以及 lambda 表达式和集合之间的关系。

  • 第 9 章 处理常见的数据格式

这一章说明如何有效使用 Java 处理常见的数据类型,例如文本、数字和时间相关的信息(日期和时间)。

  • 第 10 章 处理文件和 I/O

这一章涵盖几种不同的文件处理方式,包括 Java 旧版中的经典方式和现代化的异步方式,最后还会简单介绍如何使用 Java 平台的核心 API 处理网络。

  • 第 11 章 类加载、反射和方法句柄

这一章介绍 Java 隐含的元编程功能。首先介绍 Java 类型元信息的概念;然后介绍类加载,以及 Java 的安全模型和动态类型加载之间的关系;最后,介绍几个类加载程序和相对较新的方法句柄功能。

  • 第 12 章 Nashorn

这一章介绍 Nashorn,这是一个运行在 Java 虚拟机中的 JavaScript 实现。Nashorn 在 Java 8 中引入,它在其他 JavaScript 实现之外又提供了一个选择。这一章末尾会介绍 Avatar.js,这是和 Node 兼容的服务器端技术。

  • 第 13 章 平台工具和配置

甲骨文提供的 JDK(和 OpenJDK)包含很多有用的 Java 开发工具,其中最重要的是 Java 解释器和编译器。这一章会介绍这些工具。这一章后半部分介绍紧凑配置——这是 Java 8 的新功能,用于精简 Java 运行时环境(Java Runtime Environment,JRE),能显著减少占用空间。