Java11开发秘籍-零、序言

作者: Java开发者

本手册提供了一系列软件开发示例,通过简单明了的代码进行了说明,提供了一步一步的资源和节省时间的方法,帮助您高效地解决数据问题。从安装 Java 开始,每个配方都解决了一个特定的问题,并伴随着一个解释解决方案并深入了解其工作原理的讨论。我们将介绍有关核心编程语言的主要概念,以及构建各种软件所涉及的常见任务。您将按照食谱了解最新 Java11 版本的新特性,以使您的应用程序模块化、安全和快速。

这本书是给谁的

目标受众包括初学者、具有中级经验的程序员,甚至专家;所有人都可以访问这些菜谱,它们展示了 Java11 发布的最新特性。

这本书涵盖的内容

第 1 章、“安装和一瞥 Java 11”,帮助您设置运行 Java 程序的开发环境,并简要介绍 Java 11 中的新功能和工具。

第 2 章“OOP 快速通道——类和接口,涵盖了面向对象编程(OOP)原理和设计解决方案,包括内部类、继承、组合、接口、枚举以及 Java 9 对 Javadocs 的更改。

第 3 章“模块化编程”介绍了拼图作为 Java 生态系统的一个主要特性和巨大飞跃。本章将演示如何使用工具(如 JDEP 和 JLink)创建简单的模块化应用程序和相关工件(如模块化 JAR),以及如何模块化预 Jigsaw 应用程序。

第 4 章“开始函数式”介绍了一种称为函数式编程的编程范式。所涵盖的主题包括函数接口、Lambda 表达式和 Lambda 友好的 API。

第 5 章“流和管道”展示了如何利用流和链接集合上的多个操作来创建管道,使用工厂方法创建集合对象,创建和操作流,以及在

流上创建操作管道,包括并行计算。

第 6 章“数据库编程”涵盖了 Java 应用程序和数据库之间的基本和常用交互,从连接到数据库并执行 CRUD 操作到创建事务、存储过程以及处理大型对象

第 7 章、“并发和多线程编程”介绍了合并并发的不同方式以及一些最佳实践,如同步和不变性。本章还讨论了一些常用模式的实现,例如使用 Java 提供的构造进行分治和发布-订阅。

第 8 章“操作系统进程的更好管理”详细阐述了流程 API 的新 API 增强。

第 9 章“使用 Spring Boot 的 RESTful Web 服务”介绍了使用 Spring Boot 创建简单的 RESTful Web 服务,将其部署到 Heroku,对接基于 Spring Boot 的 RESTful Web 服务应用程序,以及使用 Prometheus 监控 Spring Boot 应用程序。

第 10 章、“网络”展示了如何使用不同的 HTTP 客户端 API 库;即,最新 JDK 附带的新 HTTP 客户端 API、Apache HTTP 客户端和 Unirest HTTP 客户端 API。

第 11 章“内存管理和调试”探讨了 Java 应用程序的内存管理,包括介绍 Java 9 中使用的垃圾收集算法,以及一些有助于高级应用程序诊断的新功能。我们还将展示如何通过使用新的资源试用构造和新的栈遍历 API 来管理资源。

第 12 章“使用 JShell 的读取-评估打印循环(REPL)”向您展示了如何使用作为 JDK 一部分提供的新 REPL 工具和 JShell。

第 13 章“使用新的日期和时间 API*”演示了如何构造时区相关和独立的日期和时间实例,如何在日期实例之间创建基于日期和时间的时段,如何表示历元时间,如何操作和比较日期和时间实例,如何使用不同的日历系统,以及如何使用DateTimeFormatter设置日期格式。

第 14 章“测试”解释了如何在 API 与其他组件集成之前对其进行单元测试,包括使用一些虚拟数据的桩依赖和模拟依赖。我们还将向您展示如何编写夹具来填充测试数据,以及如何通过集成不同的 API 并测试它们来测试您的应用程序行为。

第 15 章“使用 Java 10 和 Java 11 进行编码的新方法”,演示了如何使用局部变量类型推断,以及何时和如何使用局部变量语法进行 Lambda 参数。

第 16 章“使用 JavaFX 的 GUI 编程”,说明如何使用 JavaFX 使用 FXML 标记和 CSS 创建 GUI。它将演示如何创建条形图、饼图、折线图和面积图。它还将展示如何在应用程序和媒体源中嵌入 HTML,以及如何向控件添加效果。此外,我们还将在 OpenJFX11 更新中了解最新发布的机器人 API。

充分利用这本书

为了充分利用这本书,需要一些 Java 知识和运行 Java 程序的能力。此外,它有助于安装和配置您最喜欢的编辑器,或者更好的是,安装和配置 IDE 以便在菜谱中使用。因为这本书本质上是一个食谱的集合,每一个食谱都基于特定的例子,如果读者不执行提供的例子,这本书的好处就会失去。如果读者再现 IDE 中提供的每个示例,执行它,并将其结果与书中所示的结果进行比较,他们将从本书中获得更多。

下载示例代码文件

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

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

  1. 登录或注册www.packt.com
  2. 选择“支持”选项卡。
  3. 点击代码下载和勘误表。
  4. 在搜索框中输入图书名称,然后按照屏幕上的说明进行操作。

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

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

该书的代码包也托管在 GitHub 上。我们的丰富书籍和视频目录中还有其他代码包,请访问这里。看看他们!

使用的惯例

本书中使用了许多文本约定。 CodeInText:表示文本中的码字、数据库表名、文件夹名、文件名、文件扩展名、路径名、虚拟 URL、用户输入和 Twitter 句柄。下面是一个示例:“使用ProcessHandle接口上的allProcesses()方法获取当前活动进程的流”

代码块设置如下:

public class Thing {
  private int someInt;
  public Thing(int i) 
  public int getSomeInt() 
  public String getSomeStr() { 
    return Integer.toString(someInt); }
} 

当我们希望提请您注意代码块的特定部分时,相关行或项目以粗体显示:

Object[] os = Stream.of(1,2,3).toArray();
 Arrays.stream(os).forEach(System.out::print);
 System.out.println();
 String[] sts = Stream.of(1,2,3)
                      .map(i -> i.toString())
                      .toArray(String[]::new);
 Arrays.stream(sts).forEach(System.out::print);

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

jshell> ZoneId.getAvailableZoneIds().stream().count()
$16 ==> 599

粗体:表示一个新术语、一个重要单词或您在屏幕上看到的单词。例如,菜单或对话框中的单词出现在文本中,如下所示。下面是一个示例:“右键单击我的计算机,然后单击属性。您将看到

您的系统信息。”

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

提示和技巧如下所示。

小节

在这本书中,你会发现几个经常出现的标题(“准备”、“操作步骤”、“工作原理”、“更多”、“另见”。要明确说明如何完成配方,请使用以下部分:

准备

本节告诉您配方中的预期内容,并介绍如何设置配方所需的任何软件或任何初步设置。

怎么做…

本节包含遵循配方所需的步骤。

它是如何工作的…

本节通常包括对上一节中发生的情况的详细解释。

还有更多…

本节包含有关配方的附加信息,以使您更了解配方。

另见

本节提供了有关配方的其他有用信息的有用链接。

文章列表

更多推荐

更多
  • IOS开发者的AWS和DevOps指南-十、iOS 应用开发的持续交付渠道 Jenkins 管道公司,AWS 代码管道,摘要,Fastlane 测试阶段,AWS 设备场测试阶段,Fastlane 构建阶段,Fastlane 交付阶段,为 AWS 代码管道设置 Jenkins 环境,在 AWS 控制台上设置代码管
    Apache CN

  • IOS开发者的AWS和DevOps指南-九、将 AWS 设备群用于测试 AWS 设备群简介,为应用测试生成 ipa 包,设置设备场项目并安排测试运行,AWS 设备场 Jenkins 插件,使用 Jenkins 自动化 AWS 设备群测试,摘要,使用 AWS 控制台安排测试运行,使用 AWS CLI 计划测试
    Apache CN

  • IOS开发者的AWS和DevOps指南-八、使用 Fastlane 自动构建、测试和发布 使用 Fastlane 匹配和亚马逊 S3 设置代码签名,设置 Jenkins 环境,用 Fastlane 自动化测试和构建,自动发布到 App Store Connect,摘要,正在初始化 Fastlane 匹配,在亚马逊 S3 存储
    Apache CN

  • IOS开发者的AWS和DevOps指南-六、使用 AWS CodeCommit 的源代码管理 Git 基础,创建 AWS 代码提交存储库,在 AWS 代码提交中添加源代码,AWS 代码提交中分支,AWS 代码提交中的拉请求,摘要,Git 安装,初始化 Git 存储库,记录对 Git 存储库的更改,克隆和使用远程 Git 存储库,
    Apache CN

  • IOS开发者的AWS和DevOps指南-七、将 AWS CodeCommit 与 Jenkins 集成 Jenkins 代码提交插件,设置集成组件,配置插件,使用 AWS 代码提交源创建 Jenkins 作业,摘要,通过 AWS 控制台设置组件,通过 Terraform 设置组件,测试 AWS 代码提交插件, 当应用源代码存储在 AWS
    Apache CN

  • IOS开发者的AWS和DevOps指南-四、AWS 上的 macOS 服务器 Amazon EC2 Mac 服务器,部署 Amazon EC2 Mac 服务器,连接到 Amazon EC2 Mac 服务器,使用 Amazon CloudWatch 监控 EC2 Mac 服务器,清理 Amazon EC2 Mac
    Apache CN

  • IOS开发者的AWS和DevOps指南-五、在 macOS 实例上设置开发工具 增加 macOS 实例宗卷大小,设置 Xcode,陷害 Jenkins,建立 Fastlane,设置 GitLab,摘要,Xcode 命令行工具,供应 Jenkins 控制器,EC2 Mac 实例作为 Jenkins 构建代理,创建 G
    Apache CN

  • IOS开发者的AWS和DevOps指南-三、亚马逊网络服务(AWS)上的 DevOps 三、亚马逊网络服务AWS上的 DevOpsAWS 上的持续集成,AWS 上的连续交付,基础设施作为代码,监控和记录,摘要,AWS 代码提交,AWS 代码构建,AWS 程式码人工因素,AWS 代码部署,AWS 代码管道,AWS 云阵,AW
    Apache CN

  • IOS开发者的AWS和DevOps指南-二、从 Xcode 到 App Store Connect 标识符,应用商店连接,从 Xcode 上传构件,测试和发布,摘要,截图和应用详细信息,TestFlight 软件,应用提交, 在前一章中,我们看到了如何使用 Xcode 在物理 iPhone 设备和模拟器上构建和运行应用。我们将进一步探
    Apache CN

  • IOS开发者的AWS和DevOps指南-一、iOS 应用开发基础 开发要求,迅速发生的,摘要,苹果个人计算机,苹果开发者账户,Xcode 简介,创建应用,构建应用,Xcode 命令行工具, 为了开发 iOS 应用,苹果提供了几种工具和资源。iOS 应用可以用原生编程语言开发,如 Swift 或 Obj
    Apache CN

  • 近期文章

    更多
    文章目录

      推荐作者

      更多