现代 Java 中的多线程、并行和异步编码
通过动手实践的方式学习使用 ParallelStreams API 和 CompletableFuture API 在 Java 中使用多线程。
讲师:Pragmatic Code School
双语IT资源独家Udemy付费课程,独家中英文字幕,配套资料齐全!
用不到1/10的价格,即可享受同样的高品质课程,且可以完全拥有,随时随地都可以任意观看和分享。
您将学到什么
- 学习使用 Java 中的现代 API 编写能够更快提供结果的代码
- 学习使用函数式 API 编写异步/并行编程代码
- 学习使用 ParallelStreams 编写并行编程代码
- 学习使用 Completablefuture 编写异步代码
- 学习编写使用机器中所有核心的代码
- 使用现代并发 API 来提高代码整体性能的技术和模式
- 并发与并行
探索相关主题
- 多线程
- 编程语言
- 发展
要求
- 先前的 Java 经验
- Java 11 或更高版本
- Intellij、Eclipse 或类似 IDE
描述
本课程旨在为您提供使用ParallelStreams和CompletableFuture编写并行和异步代码的理论和编码经验。完成本课程后,您将能够非常流利地用Java编写异步/并行代码。
如果您希望编写高性能 Java 代码,那么本课程非常适合您。本课程涵盖了现代 Java 中可用的最新功能,可帮助您编写快速执行的代码。
本课程明确涵盖了现代 Java 中的以下 API:
- 并行流
- CompletableFuture
并行和异步编程入门
- 在本节中,我将解释在当今软件开发中学习并行和异步编程概念的必要性
- 简述Java并发 API 的演变
- 解释并发和并行之间的区别
课程项目设置
- 在本节中,我们将为整个课程设置基础项目。
线程、Future、ForkJoin 框架及其局限性
- 在本节中,我将解释线程、Future API、ForkJoin FrameWork 及其局限性
- 我将使用代码示例展示所有这些概念。
- 课程中涵盖的局限性为ParallelStreams和CompletableFuture API奠定了基础
并行流入门
- 在本节中,我将向大家介绍并行流,并使用并行流实现一个简单的示例
- Streams API和ParallelStreams简介
- 使用 ParallelStreams 实现一个简单的示例
- 编写单元测试以使用JUnit5测试ParallelStreams
使用并行流构建零售结账应用程序
- 在本节中,我们将使用并行流构建一个简单的后端零售结账应用程序
并行流 – 底层原理
- 在本节中,我将介绍并行流的内部结构。
- 我将解释ParallelStreams 的工作原理
- 比较不同集合与ParallelStreams一起使用时的性能
- Streams API 和并行流中Collect 与 Reduce终端运算符的使用
- 与 ParallelStreams 一起使用时可能导致性能不佳的运算符
并行流 – 线程模型和通用 ForkJoin 池
- 在本节中,我将解释并行流背后的执行引擎
- 介绍ParallelStreams在幕后使用的线程模型
- 配置线程池以获得更快的性能
并行流 – 摘要
- 本节总结了上面讨论的与 ParallelStreams 相关的所有内容
- 涵盖“何时使用/何时不使用” ParallelStreams的场景
CompletableFuture
- 在本节中,我将向大家介绍 CompletableFuture API
探索 CompletableFuture 函数
- 在本节中,我将编写代码并探索 CompletableFuture API 中的函数
- 探索 CompletableFuture API 中的一些关键函数
- 编写单元测试以使用JUnit5测试CompletableFuture
使用 CompletableFuture 构建 ProductService 应用程序
- 在本节中,我们将使用 CompletableFuture 实现 ProductService 示例
- 本节将向您展示如何在实际场景中使用 CompletableFuture
结合 Streams 和 CompletableFuture
- 在本节中,我将向您展示将 Streams 与 CompletableFuture 相结合的技术。
- 我将通过向 ProductService 添加增强功能(即 InventoryService)来探索这一点
- 探索将Streams API与CompletableFuture集成的不同选项
CompletableFuture 中的异常处理/恢复
- 在本节中,我将向您介绍使用 CompletableFuture 处理/恢复异常的技术/选项
- 我将解释并介绍 CompletableFuture 中可用的不同异常处理和恢复技术
- 处理()
- 例外地()
- 完成时
- 我将比较并解释它们之间的行为差异,并针对不同用例使用不同的处理程序提供建议。
在 ProductService 中实现异常处理/恢复
- 在本讲座中,我将向您展示在 ProductService 中实现异常处理技术的技术
- 在ProductInfoService、ReviewService和 InventoryService中实现异常处理和恢复技术
CompletableFuture 与 ThreadPool
- 在本节中,我将介绍 ThreadPool 以及可用于 CompletableFuture 的不同选项
- 我将介绍用于执行 CompletableFuture 的默认 CommonForkJoin ThreadPool
- 我将介绍使用自定义线程池来执行 CompletableFuture 的技术
CompletableFuture 中的线程和异步重载方法
- 我将介绍用于执行 CompletableFuture 的线程
- 我将展示如何使用CompletableFuture API 中的Async()方法更改 CompletableFuture Pipeline 中线程的执行
使用 Spring WebClient 和 CompletableFuture 构建 RestFul API 客户端
- 在本节中,我将使用Spring WebClient构建一个 restful api 客户端并与 CompletableFuture 集成以提高 api 调用的性能。
- 我将编写代码并演示如何使用Spring WebClient构建 rest 客户端
- 我将编写代码并演示将RestAPI调用与 CompletableFuture集成以提高代码整体性能的技术。
处理多个 CompletableFutures – anyOf()、allOf()
- 在本节中,我将编写代码并解释处理多个 CompletableFutures 的技术。
- 我将编写代码并探索CompletableFuture API 中的allOf()函数
- 我将编写代码并探索CompletableFuture API 中的anyOf()函数
在本课程结束时,您将全面了解ParallelStreams和CompletableFuture以及如何在您的项目中使用它们。
本课程适合哪些人:
- 有兴趣编写并行编程代码的 Java 开发人员
- 有兴趣编写异步编程代码的 Java 开发人员
- 有兴趣提高对现代并发 API 的了解的 Java 开发人员
- 有兴趣学习 ParallelStreams API 的 Java 开发人员
- 有兴趣学习 CompletableFuture API 的 Java 开发人员
如果你有能力,请务必支持课程的原创作者,这是他们应得的报酬!
本站收取的费用,仅用来维持网站正常运行的必要支出,从本站下载任何内容,说明你已经知晓并同意此条款。