现代 Java:掌握从 Java 8 到 Java 21 的功能
“通过实践掌握 Java 8 到 Java 21:函数式编程、记录、密封类、模式匹配等。
讲师:Pragmatic Code School
双语IT资源独家Udemy付费课程,独家中英文字幕,配套资料齐全!
用不到1/10的价格,即可享受同样的高品质课程,且可以完全拥有,随时随地都可以任意观看和分享。
您将学到什么
- 通过编码学习 Java 8、Java ll、Java 17、Java 21 的功能。
- 学习 Java 中的函数式编程
- 通过代码完全理解 Lambdas、Streams 和 Optional。
- 学生将能够实时实现新的 Java 8 概念
- 学习构建复杂的Streams Pipeline。
- 了解 Java 8 中的新日期/时间库
- 学习使用方法引用、构造函数引用语法。
- 学习并理解使用流进行并行编程。
- 学生将能够利用新的功能特性升级他们的 Java 知识。
- 本课程将持续更新。
- LVTI、TextBlocks、增强型开关、记录类
- 学习模式匹配以编写简洁、结构化的代码
- 使用密封类来应用受控继承
- Java 平台模块系统 (JPMS) 及其优势
- 现代 Java 中的所有新功能
探索相关主题
- Java
- 编程语言
- 发展
要求
- 学生应该具备 Java 的基本知识。
- 学生应该了解 Eclipse、Intellij IDEA 等 IDE
- 本课程至少需要 Java 8。任何高于 Java 8 的 Java 版本都可以
描述
[重大更新:完整课程于 2024 年 12 月更新]
通过编码学习新的Java 8、Java ll、Java 17、Java 21功能,这是一个纯编码课程,通过编码,您将全面了解所有Java 8、Java ll、Java 17、Java 21功能
我为什么要参加这门课程?
-
本课程将帮助Java开发人员了解Java 8 的新功能
-
所有新功能(如Lambdas、Streams、Optional、函数式接口和并行编程)都将通过代码进行解释
-
本课程将使您有信心在实际Java项目中实现新的Java 8功能
-
在本课程结束时,你将全面了解 Java 8 的新功能
课程概述:
第 1 部分 – 入门:
-
本节介绍本课程涵盖的内容
第 2 部分-为什么选择 Java-8?
-
本节介绍Java 8 为何重要?
-
本节解释命令式编程和声明式编程之间的区别
第 3 部分 – 工作区设置 – Mac/Windows:
-
本节介绍在Mac 和 Windows中安装Java和IntelliJ
第 4 节:Lambda 简介
-
本节介绍为什么需要 Lambda、Lambdas 语法以及如何实现 Lambdas?
-
使用 Lambdas 实现 Runnable 接口
-
使用 Lambdas 实现 Comparator 接口
第 5 节:Lambda 和函数式接口
-
本节介绍 Java 8 中引入的新功能接口
-
消费者功能接口
-
谓词函数接口
-
函数式接口
-
供应商功能接口
-
第 6 节:构造函数和方法引用
-
本节介绍新方法参考和构造函数参考
-
方法引用如何简化代码
-
如何将方法引用与 Lambda 表达式结合使用
-
如何使用构造函数引用创建新对象
-
第 7 节:Lambda 表达式和局部变量(有效 final)
-
本节介绍局部变量及其在 Lambda 表达式中的使用方法
-
变量有效最终范围的定义
第 8 节:Streams API
-
本节介绍 Streams API,它是Java8中引入的重要功能之一
-
Stream API 内部如何工作?
-
集合 (Collection) 与流 (Stream)有何不同?
-
如何调试流?
第 9 节:Streams API 操作
-
本节介绍可在 Streams 中用于实现目标的不同 Streams API 操作
-
流操作如:
-
地图()
-
flatMap()
-
清楚的()
-
数数()
-
筛选()
-
减速器()
-
Map、Filter 和 Reduce 模式
-
最大限度()
-
min()
-
限制()
-
跳过()
-
allMatch()、anyMatch() 和 noneMatch()
-
findAny() 和 findFirst()
-
-
短路操作流操作的解释
第 10 节:Streams API – 工厂方法
-
本节介绍可用于创建 Streams 的不同 Streams API 工厂方法
第 11 节:数字流
-
本节介绍数字流,可用于执行一些与数字相关的操作
第 12 节:终端操作流
-
本节介绍从Streams Pipeline收集数据的不同方法
-
终端操作如:
-
连接()
-
计数()
-
映射()
-
最大值(),最小值()
-
和()
-
平均的()
-
groupingBy()
-
分区依据()
-
第 13 节:Streams API – 并行处理
-
本节介绍如何使用流执行并行处理
-
并行编程如何利用机器中的处理器执行并发操作?
-
并行编程内部如何工作?
-
如何检查顺序编程和并行编程之间的性能?
-
不适合使用并行编程的场景
第 14 节:可选
-
本节介绍什么是可选的以及可选的好处
-
Optional 如何帮助你避免空指针异常
-
探索可选的不同操作,例如:
-
空的()
-
可空()
-
的()
-
或Else()
-
或ElseGet()
-
或ElseThrow()
-
存在()
-
如果有的话()
-
地图()
-
flatMap()
-
筛选()
-
第 12 节:Streams API – 并行处理
-
本节介绍如何使用流执行并行处理
-
并行编程如何利用机器中的处理器执行并发操作?
-
并行编程内部如何工作?
-
如何检查顺序编程和并行编程之间的性能?
-
不适合使用并行编程的场景
第 13 节:可选
-
本节介绍什么是可选的以及可选的好处
-
Optional 如何帮助你避免空指针异常
-
探索可选的不同操作,例如:
-
空的()
-
可空()
-
的()
-
或Else()
-
或ElseGet()
-
或ElseThrow()
-
存在()
-
如果有的话()
-
地图()
-
flatMap()
-
筛选()
-
第 14 节:新的日期/时间库
-
本节介绍新的日期/时间库,例如LocalDate、LocalTime、LocalDateTime
-
如何使用Period、Duration查找 LocalDate、LocalTime 和 LocalDateTime 之间的差异
-
如何使用即时表示以机器可读格式表示时间
-
如何使用ZonedDateTime来使用时区
-
如何使用DateTimeFormatter格式化日期
第 15 节:使用 var 进行局部变量类型推断 (LVTI)
-
在本节中,我们将编码并了解 LVTI 功能,以便使用类型推断简单地声明局部变量。
第 16 节:文本块
-
在本节中,我们将编码并了解增强 Java 中字符串功能的 TextBlocks。
第 17 节:增强型交换机
-
在本节中,我们将编码并了解新的表达式Switch 。
-
Switch – 作为一种表达
-
使用“yield”的多行 switch 表达式
-
增强型 Switch 功能全面
-
第 18 条:记录
-
在本节中,我们将编写代码并探索现代 Java 中的记录类概念。
-
记录类别
-
记录类中的自定义构造函数和验证
-
记录类中的对象相等性
-
第 19 节:模式匹配
-
在本节中,我们将编码并学习模式匹配。
-
模式匹配简介
-
记录模式 – 记录上的模式匹配
-
守卫模式
-
第 20 节:ChekoutService 应用程序 [ 实时用例 ]
-
在本节中,我们将使用迄今为止学到的所有现代 Java 概念来实现一个实时应用程序。
第 21 节:简单的 Web 服务器
-
在本节中,我将向您演示 jwebserver 以及它如何将文件和文件夹作为资源提供服务。
第 22 节:新的 Http 客户端
-
在本节中,我们将编码并探索支持 HTTP2/Websockets 的新 HTTP 客户端。
-
新的 HttpClient – 通过 ID 获得电影的 GET 请求
-
HTTP 客户端的 JUnit 测试
-
异步模式构建HTTPClient
-
构建 HTTP 客户端 – GET 请求以检索 AllMovies
-
第 23 节:Java 平台模块系统 (JPMS)
-
在本节中,我们将编码并学习如何使用 JPMS 或模块构建 Java 应用程序。
-
JPMS 简介使用 JPMS 构建 Java 应用程序
-
使用多个模块
-
使用多个模块 – 传递性
-
未命名模块和自动模块
-
在本课程结束时,您将全面了解Java 8、Java ll、Java 17、Java 21的所有 功能,并在实际 Java 项目中实现它
本课程适合哪些人:
- 任何愿意学习新的 Java 功能(如 Lambdas、Streams、并行编程、新数据时间库等)的人,
- 希望将自己的知识提升到更高水平以编写更简洁、更易读的代码的 Java 开发人员
如果你有能力,请务必支持课程的原创作者,这是他们应得的报酬!
本站收取的费用,仅用来维持网站正常运行的必要支出,从本站下载任何内容,说明你已经知晓并同意此条款。