Skip to content

Files

Latest commit

c4e46db · Oct 12, 2021

History

History
123 lines (70 loc) · 8.9 KB

File metadata and controls

123 lines (70 loc) · 8.9 KB

零、前言

世界已经等待 Java9 很久了。更具体地说,我们一直在等待 Java 平台模块系统,Java9 最终将提供它。如果一切按计划进行,我们将最终实现真正的隔离,为我们提供更小的 JDK 和更稳定的应用程序。当然,这并不是 Java9 提供的全部功能;发行版中有过多的重大变化,但这肯定是最令人兴奋的。也就是说,这本书不是一本关于模块系统的书。有很多优秀的资源可以让您深入了解 Java 平台模块系统及其许多含义。不过,这本书是对 Java9 的一个更实际的介绍。我们将在接下来的几百页中讨论不同的方法,而不是讨论发行版的细节,尽管这可能会令人满意,但我们将从不同的角度来看待最近 JDK 发行版中的所有重大变化——特别是 Java 9——可以以实际的方式应用。

当我们完成后,您将有十个不同的项目,涵盖无数的问题领域,在您解决自己独特的挑战时,您可以从中提取可用的示例。

这本书涵盖的内容

第 1 章简介简要介绍了 Java 9 中的新功能,同时也介绍了 Java 7 和 Java 8 的一些主要功能,为我们在后面的章节中使用这些功能奠定了基础。

第 2 章在 Java中管理流程,构建了一个简单的流程管理应用程序(类似于 Unix 的 top 命令),我们将探索 Java 9 中新的 OS 流程管理 API 变化。

第 3 章重复文件查找器演示了在应用程序(包括命令行和 GUI)中使用新的文件 I/O API 来搜索和识别重复文件。文件哈希、流和 JavaFX 等技术被大量使用。

第 4 章日期计算器展示了一个用于执行日期计算的库和命令行工具。我们将看到 Java8 的日期/时间 API 被大量使用。

第 5 章Sunago-社交媒体聚合器展示了如何与第三方系统集成来构建聚合器。我们将使用 RESTAPI、JavaFX 和可插拔应用程序架构。

第 6 章Sunago-安卓端口,我们将从第 5 章Sunago-社交媒体聚合器返回我们的应用程序。

第 7 章使用邮件过滤器进行电子邮件和垃圾邮件管理,构建一个邮件过滤应用程序,解释各种电子邮件协议的工作原理,然后演示如何使用标准的 Java 电子邮件 API——JavaMail 与电子邮件交互。

第 8 章使用 PhotoBeans进行照片管理,当我们使用 NetBeans 富客户端平台构建照片管理应用程序时,我们将走向一个完全不同的方向。

第九章用纪念碑记笔记,又有一个新方向。在本章中,我们构建了一个应用程序和微服务,它提供基于 web 的笔记,类似于几种流行的商业产品。

第 10 章无服务器 Java将我们带入云端,我们在 Java 中构建了一个服务系统功能,用于发送基于电子邮件和短信的通知。

第 11 章DeskDroid—一款适用于您的 Android 手机的桌面客户端,演示了一种简单的方法,在我们构建应用程序以查看和发送桌面上的文本消息时,桌面客户端可以与安卓设备交互。

第 12 章下一步是什么?,讨论了 Java 的未来可能会是什么样子,同时也谈到了 Java 在 JVM 上的卓越地位最近的两个挑战者——Ceylon 和 Kotlin。

这本书你需要什么

您需要 Java 开发工具包(JDK)9、NetBeans 8.2 或更新版本以及 Maven 3.0 或更新版本。有些章节需要额外的软件,包括 Glion 和 Android Studio 的场景生成器。

这本书是给谁的

这本书是为初学者到中级开发人员编写的,他们对在实际例子中应用新的和各种各样的 API 和编程技术感兴趣。不需要对 Java 有深入的理解,但需要对该语言及其生态系统、构建工具等有基本的了解。

习俗

在本书中,您将发现许多文本样式可以区分不同类型的信息。下面是这些风格的一些例子,并解释了它们的含义。

文本中的代码字、数据库表名、文件夹名、文件名、文件扩展名、路径名、虚拟 URL、用户输入和 Twitter 句柄如下所示:“Java 架构师引入了一个新文件module-info.java,类似于现有的package-info.java文件,位于模块的根目录,例如src/main/java/module-info.java

代码块设置如下:

    module com.steeplesoft.foo.intro {
      requires com.steeplesoft.bar;
      exports com.steeplesoft.foo.intro.model;
      exports com.steeplesoft.foo.intro.api;
    }

任何命令行输入或输出的编写方式如下:

$ mvn -Puber install

新术语重要词语以粗体显示。您在屏幕上看到的单词(例如,在菜单或对话框中)出现在文本中,如下所示:“在新项目窗口中,我们选择 Maven,然后选择 NetBeans 应用程序。”

警告或重要提示如下所示。

提示和技巧如下所示。

读者反馈

我们欢迎读者的反馈。让我们知道你对这本书的看法你喜欢还是不喜欢。读者反馈对我们来说很重要,因为它可以帮助我们开发出您将真正从中获得最大收益的标题。 若要向我们发送一般反馈,只需发送电子邮件feedback@packtpub.com,并在邮件主题中提及该书的标题。 如果您对某个主题有专业知识,并且您有兴趣撰写或贡献一本书,请参阅我们的作者指南,网址为www.packtpub.com/authors

客户支持

既然您是一本 Packt 图书的骄傲拥有者,我们有很多东西可以帮助您从购买中获得最大收益。

下载示例代码

您可以从您的帐户下载本书的示例代码文件 http://www.packtpub.com 。如果您在其他地方购买了本书,您可以访问http://www.packtpub.com/support 并注册,将文件直接通过电子邮件发送给您。

您可以通过以下步骤下载代码文件:

  1. 使用您的电子邮件地址和密码登录或注册我们的网站。
  2. 将鼠标指针悬停在顶部的“支持”选项卡上。
  3. 点击代码下载和勘误表。
  4. 在搜索框中输入图书的名称。
  5. 选择要下载代码文件的书籍。
  6. 从您购买本书的下拉菜单中选择。
  7. 点击代码下载。

下载文件后,请确保使用以下最新版本解压或解压缩文件夹:

  • WinRAR/7-Zip for Windows
  • 适用于 Mac 的 Zipeg/iZip/UnRarX
  • 适用于 Linux 的 7-Zip/PeaZip

该书的代码包也托管在 GitHub 上的https://github.com/PacktPublishing/Java-9-Programming-Blueprints 。我们在上还提供了丰富的书籍和视频目录中的其他代码包 https://github.com/PacktPublishing/ 。看看他们!

下载本书的彩色图像

我们还为您提供了一个 PDF 文件,其中包含本书中使用的屏幕截图/图表的彩色图像。彩色图像将帮助您更好地了解输出中的更改。您可以从下载此文件 https://www.packtpub.com/sites/default/files/downloads/Java9ProgrammingBlueprints_ColorImages

勘误表

虽然我们已尽一切努力确保内容的准确性,但错误确实会发生。如果您在我们的一本书中发现错误,可能是文本或代码中的错误,如果您能向我们报告,我们将不胜感激。通过这样做,您可以使其他读者免于沮丧,并帮助我们改进本书的后续版本。如果您发现任何错误,请访问进行报告 http://www.packtpub.com/submit-errata ,选择您的书籍,点击勘误表提交表单链接,然后输入勘误表的详细信息。一旦您的勘误表得到验证,您的提交将被接受,勘误表将上载到我们的网站或添加到该标题勘误表部分下的任何现有勘误表列表中。

要查看之前提交的勘误表,请转至https://www.packtpub.com/books/content/support 并在搜索字段中输入图书名称。所需信息将出现在勘误表部分下。

盗版行为

在互联网上盗版版权材料是所有媒体都面临的一个持续问题。在 Packt,我们非常重视版权和许可证的保护。如果您在互联网上发现任何形式的非法复制品,请立即向我们提供地址或网站名称,以便我们采取补救措施。

请致电copyright@packtpub.com与我们联系,并提供可疑盗版材料的链接。

我们感谢您在保护我们的作者方面提供的帮助以及我们为您带来有价值内容的能力。

问题

如果您对本书的任何方面有任何问题,可以通过questions@packtpub.com与我们联系,我们将尽力解决该问题。