精通从Java 8到Java 21的Java新特性 | Modern Java Mastering Features from Java 8 to Java 21

精通从Java 8到Java 21的Java新特性 | Modern Java Mastering Features from Java 8 to Java 21-幻仿编程
精通从Java 8到Java 21的Java新特性 | Modern Java Mastering Features from Java 8 to Java 21
此内容为付费资源,请付费后查看
49.9
立即购买
您当前未登录!建议登陆后购买,可保存购买订单
付费资源
资源分类: Java查看预览
最近更新: 2025-01-11文件内容: 视频+中英文字幕+配套课件
视频分辨率: 720P 准高清文件大小: 4.81GB
视频语言: 英语视频字幕: 中英字幕

幻仿编程 Udemy 付费课程,独家中英字幕 + 配套资料!
限时1折特惠!课程永久访问权,随时随地学习!

现代 Java:掌握从 Java 8 到 Java 21 的功能

“通过实践掌握 Java 8 到 Java 21:函数式编程、记录、密封类、模式匹配等。

讲师:Pragmatic Code School


您将学到什么

  • 通过编码学习 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 表达式结合使用 如何使用构造函数引用创建新对象
  • 方法引用如何简化代码
  • 如何将方法引用与 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()
  • 地图()
  • flatMap()
  • 清楚的()
  • 数数()
  • 筛选()
  • 减速器()
  • Map、Filter 和 Reduce 模式
  • 最大限度()
  • min()
  • 限制()
  • 跳过()
  • allMatch()、anyMatch() 和 noneMatch()
  • findAny() 和 findFirst()
  • 短路操作流操作的解释

第 10 节:Streams API – 工厂方法

  • 本节介绍可用于创建 Streams 的不同 Streams API 工厂方法

第 11 节:数字流

  • 本节介绍数字流,可用于执行一些与数字相关的操作

第 12 节:终端操作流

  • 本节介绍从Streams Pipeline收集数据的不同方法
  • 终端操作如: 连接() 计数() 映射() 最大值(),最小值() 和() 平均的() groupingBy() 分区依据()
  • 连接()
  • 计数()
  • 映射()
  • 最大值(),最小值()
  • 和()
  • 平均的()
  • groupingBy()
  • 分区依据()

第 13 节:Streams API – 并行处理

  • 本节介绍如何使用流执行并行处理
  • 并行编程如何利用机器中的处理器执行并发操作?
  • 并行编程内部如何工作?
  • 如何检查顺序编程和并行编程之间的性能?
  • 不适合使用并行编程的场景

第 14 节:可选

  • 本节介绍什么是可选的以及可选的好处
  • Optional 如何帮助你避免空指针异常
  • 探索可选的不同操作,例如: 空的() 可空() 的() 或Else() 或ElseGet() 或ElseThrow() 存在() 如果有的话() 地图() flatMap() 筛选()
  • 空的()
  • 可空()
  • 的()
  • 或Else()
  • 或ElseGet()
  • 或ElseThrow()
  • 存在()
  • 如果有的话()
  • 地图()
  • flatMap()
  • 筛选()

第 12 节:Streams API – 并行处理

  • 本节介绍如何使用流执行并行处理
  • 并行编程如何利用机器中的处理器执行并发操作?
  • 并行编程内部如何工作?
  • 如何检查顺序编程和并行编程之间的性能?
  • 不适合使用并行编程的场景

第 13 节:可选

  • 本节介绍什么是可选的以及可选的好处
  • Optional 如何帮助你避免空指针异常
  • 探索可选的不同操作,例如: 空的() 可空() 的() 或Else() 或ElseGet() 或ElseThrow() 存在() 如果有的话() 地图() flatMap() 筛选()
  • 空的()
  • 可空()
  • 的()
  • 或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 功能全面
  • 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
  • 新的 HttpClient – 通过 ID 获得电影的 GET 请求
  • HTTP 客户端的 JUnit 测试
  • 异步模式构建HTTPClient
  • 构建 HTTP 客户端 – GET 请求以检索 AllMovies

第 23 节:Java 平台模块系统 (JPMS)

  • 在本节中,我们将编码并学习如何使用 JPMS 或模块构建 Java 应用程序。 JPMS 简介使用 JPMS 构建 Java 应用程序 使用多个模块 使用多个模块 – 传递性 未命名模块和自动模块
  • JPMS 简介使用 JPMS 构建 Java 应用程序
  • 使用多个模块
  • 使用多个模块 – 传递性
  • 未命名模块和自动模块

在本课程结束时,您将全面了解Java 8、Java ll、Java 17、Java 21的所有 功能,并在实际 Java 项目中实现它

本课程适合哪些人:

  • 任何愿意学习新的 Java 功能(如 Lambdas、Streams、并行编程、新数据时间库等)的人,
  • 希望将自己的知识提升到更高水平以编写更简洁、更易读的代码的 Java 开发人员
共 133 节课程 • 总时长 14 小时 24 分钟
第一章 入门
1. 课程介绍3分37秒
2. 先决条件1分54秒
第二章 入门现代Java
1. 现代Java简介:整体概览7分10秒
第三章 本地设置
1. Java 安装8分20秒
第四章 为什么Java 8
1. 为什么Java 8很重要5分16秒
2. 命令式编程与声明式编程 – 示例 16分25秒
3. 命令式编程与声明式编程 – 示例 25分28秒
第五章 Lambda介绍
1. Lambda是什么2分29秒
2. 实验:使用Lambda实现Runnable14分1秒
3. 实验室:使用Lambda实现比较器7分53秒
第六章 Lambda表达式和函数式接口
1. 函数式接口介绍2分27秒
2. 实验室:消费者功能接口 – 第一部分4分30秒
3. 实验室:消费者功能接口 – 第二部分12分43秒
4. 实验室 BiConsumer 函数接口9分44秒
5. 实验室 – 谓词 – 函数式接口 – 第一部分10分9秒
6. 实验室 – 谓词 – 函数式接口 – 第二部分10分17秒
7. 实验室 结合谓词 + 消费者6分52秒
8. 实验室 双目谓词3分51秒
9. 实验室功能 – 功能接口 – 第一部分9分31秒
10. 实验室 功能 – 功能接口 – 第二部分6分3秒
11. 实验室 BiFunction 函数式接口5分51秒
12. 实验室:一元运算符和二元运算符函数接口8分37秒
13. 实验室 – 供应商 – 功能接口4分22秒
第七章 构造函数和方法引用
1. 方法引用3分8秒
2. 实验方法参考 – 函数3分28秒
3. 实验室方法参考 – 消费者4分11秒
4. 实验:将Lambda表达式重构为方法引用5分9秒
5. 构造函数引用4分50秒
第八章 Lambda表达式和局部变量(有效最终)
1. Lambda表达式中的局部变量6分10秒
2. Lambda表达式中的有效最终变量及其优势1分28秒
第九章 流式API
1. 流介绍10分53秒
2. 流API是如何工作的6分25秒
3. 比较 Streams 与 Collections6分59秒
4. 实验室 如何调试流操作(1)4分55秒
5. 实验室 如何调试流操作4分55秒
第十章 流API – 操作
1. 实验:流操作 – map()8分21秒
2. 实验室 流操作 – flatMap()6分27秒
3. 实验室 流操作 – distinct() , count() , sorted()5分35秒
4. 实验室 流操作 – 使用比较器进行自定义排序7分43秒
5. 实验室 流操作 – filter()5分39秒
6. 实验 流操作 – reduce() – 第一部分12分39秒
7. 实验:流操作 – reduce() – 第二部分5分37秒
8. 实验室流操作 – Map + Filter + Reduce模式8分52秒
9. Lab 流水线操作 max 使用 reduce() 函数10分13秒
10. 实验室流操作 – 使用reduce函数的min()5分1秒
11. 实验 – 流操作 – limit() 和 skip()7分7秒
12. 实验 流操作 allMatch(), anyMatch() 和 noneMatch()6分25秒
13. 实验室 流操作 – findAny() 和 findFirst()8分3秒
14. 短路流操作3分41秒
第11章 流API – 工厂方法
1. 流操作 – of(), iterate(), generate()7分44秒
第12章 流API – 数字流
1. 数值流简介6分
2. 实验:NumericStream – range() , rangeClosed(), count(), foreach()6分20秒
3. 实验室 – NumericStream – sum() , max(), min(), average()6分25秒
4. 实验 NumericStream – 自动装箱,自动拆箱,mapToInt()(1)6分42秒
5. 实验室:NumericStream – 自动装箱,自动拆箱,mapToInt()6分42秒
6. 实验室:NumericStream – mapToObj(), mapToDouble(), mapToLong()5分52秒
第13章 流式API – 终端操作
1. Lab 连接()6分2秒
2. Lab 计数()3分7秒
3. Lab 映射()3分49秒
4. Lab minBy() , maxBy() 使用 collect()4分28秒
5. 实验:使用collect()函数实现sum()和avg()4分13秒
6. Lab 分组By() – 类型17分43秒
7. Lab 分组By() – 类型 26分48秒
8. Lab 分组By() – 类型 33分34秒
9. Lab 分组By() – maxBy(), minBy(), collectingAndThen()6分4秒
10. Lab 按照分区进行()6分3秒
第14章 流式API – 并行处理
1. 并行流介绍3分33秒
2. 实验:比较顺序流与并行流的性能5分43秒
3. 平行流(Parallel Stream)是如何工作的2分55秒
4. 实验:构建并行流管道4分36秒
5. 实验:何时不应使用并行流 – 示例 15分38秒
6. 实验:何时不应使用并行流 – 第二部分4分48秒
第15章 可选
1. 可选参数介绍12分18秒
2. 实验 可选 empty(), ofNullable(), Of()6分47秒
3. Lab 或Else(), orElseGet() ,orElseThrow()9分43秒
4. Lab 如果存在(), 存在()4分3秒
5. Lab map(), flatMap(), filter() – 部分16分23秒
6. Lab map()、flatMap()、filter() – Part28分47秒
第16章 接口中的默认静态方法
1. 默认静态方法介绍2分51秒
2. 实验室 默认方法7分26秒
3. 实验:使用Comparator探索sort()操作 – 第一部分11分22秒
4. 实验:使用Comparator探索sort()操作 – 第二部分4分1秒
5. 实验:创建具有默认静态方法的界面13分24秒
6. 抽象类与接口1分6秒
7. 实验 多重继承7分57秒
8. 实验室 多重继承 – 解决冲突2分47秒
第17章 新的DateTime API
1. 新DataTime库简介6分11秒
2. 实验室 LocalDate – 创建,获取 LocalDate 值7分18秒
3. 实验室 LocalDate – 修改 LocalDate6分52秒
4. 实验室 LocalDate – LocalDate 额外功能8分13秒
5. 实验室 本地时间15分35秒
6. 实验室 LocalDateTime – 创建修改 LocalDateTime9分39秒
7. 将LocalDateLocalTime转换为LocalDateTime的实验5分11秒
8. 实验室 比较日期 – 时期11分
9. 实验室 比较时间 – 持续时间7分51秒
10. 实验室 即时6分15秒
11. 实验室 时间区域 – ZonedDateTime, ZoneId , ZoneOffset15分51秒
12. 实验室 时间区 – 将 Instant,LocalDateTime 转换为 ZonedDateTime5分55秒
13. 实验:将 java.util.Date 转换为 java.sql.Date 到 LocalDate8分21秒
14. 将输入的文本翻译为中文 使用DateTimeFormatter解析LocalDate14分52秒
15. 使用DateTimeFormatter格式化LocalTime8分42秒
16. 使用DateTimeFormatter解析LocalDateTime格式9分27秒
第18章 Java 9 及更高版本功能探索的基础项目设置
1. 项目设置3分24秒
第19章 局部变量类型推断(LVTI)使用var
1. 什么是局部变量类型推断7分52秒
2. 使用var(1)的限制2分40秒
3. 使用var的限制2分40秒
第20章 文本块
1. 文本块 – 增强了字符串的力量8分46秒
第21章 增强型交换机
1. 开关 – 作为表达式8分36秒
2. 使用 yield 的多行 switch 表达式2分53秒
3. 增强型交换机是穷尽的2分58秒
第22章 记录
1. 记录类6分50秒
2. 自定义构造函数和记录类中的验证7分46秒
3. 对象在记录类中的相等性3分32秒
第23章 密封类接口
1. 密封类介绍类型6分38秒
2. 密封类的子类3分56秒
3. 在抽象类上使用sealed2分53秒
4. 使用sealed修饰接口2分56秒
第24章 模式匹配
1. 模式匹配简介8分53秒
2. 记录模式 – 记录上的模式匹配5分37秒
3. 保护模式3分14秒
第25章 CheckoutService 应用 实时用例
1. 应用程序概述4分42秒
2. 使用密封类实现PaymentService13分58秒
第26章 简易Web服务器
1. 动作中的简单Web服务器4分57秒
第27章 新 Http 客户端
1. 新的HttpClient – 通过ID获取电影的GET请求10分18秒
2. JUnit 测试 HTTP 客户端3分13秒
3. 在异步模式下构建HTTPClient5分28秒
4. 构建HTTP客户端 – 发送GET请求以检索所有Movies4分11秒
第28章 Java 平台模块系统 (JPMS)
1. JPMS 简介6分29秒
2. 使用JPMS构建Java应用程序5分51秒
3. 使用多个模块5分10秒
4. 处理多个模块 – 传递地3分59秒
5. 未命名模块和自动模块(1)5分22秒
6. 未命名模块和自动模块5分22秒
1. 关于课程更新与获取

如何获取本站课程?

免费获取方式:在本站签到、评论、发布文章等可获取积分,通过积分购买课程。
付费获取方式:购买本站【月度会员】或【永久会员】。

课程购买后是否支持更新?
是的,所有课程均提供免费更新服务。 我们致力于为您提供持续的学习支持。

如何获取更新?
单独购买的课程: 您可在“个人中心”随时查看购买记录及最新下载链接,轻松获取免费更新。
永久会员: 您可在相关页面直接查看最新下载地址,随时免费获取更新。
非永久会员(重要提示):通过会员权限下载的课程,在“个人中心”可能不显示具体订单记录。

因此,会员到期后,您将无法通过“个人中心”查看最新下载链接。
解决方案建议:续费会员: 恢复会员权限后,即可再次查看所有最新下载链接。
妥善保存下载链接: 我们强烈建议您在会员有效期内,保存好本站分享的课程下载链接。通常,课程更新内容会直接补充到原有分享链接中。
2. 关于课程资料

课程下载后资料是否齐全?
绝大部分课程资料齐全。 我们尽力确保您获得完整的学习资源。
少数情况说明: 极少数课程可能存在资料缺失情况。针对 Udemy 课程,资料形式多样,请知悉:本地文件(随视频下载): 此类课件通常随视频一并提供,下载即得。

本地文件(含链接): 课件文件中会提供资料下载链接,您需自行访问链接下载。此类资料通常也可获取。
在线平台存储(如 GitHub): 讲师会在视频中说明资料获取方式(如访问特定平台),请您按指引自行下载。
③ Udemy 平台内资料: 部分资料需登录您在 Udemy 购买的账号才能查看。此类资料本站无法提供,除非您自行在 Udemy 平台购买该课程。
3. 关于课程字幕

是否提供中英文双字幕?原本无字幕的课程是否支持?
是的,本站下载的所有课程均提供中英文双字幕,包括 Udemy 原本无任何字幕的课程。 我们致力于提升您的学习体验。

Udemy 字幕现状与本站服务:
○ Udemy 绝大多数课程本身不提供任何字幕。在少数提供字幕的课程中,也几乎不提供中文字幕。

本站字幕服务流程:
Udemy 有字幕: 我们会将其翻译成中文字幕,与英文字幕一同提供。
Udemy 无字幕: 我们会通过技术手段识别生成英文字幕,再翻译成中文字幕,一同提供给您。

字幕服务重要说明(请您理解):
翻译精度: 字幕翻译采用谷歌翻译引擎完成,虽不及人工翻译精准,但足以保障您正常学习理解。
若您仍然觉得字幕精度较低: 可联系站长针对性润色字幕(该服务仅限本站会员)。
4. 关于视频存储与使用

视频存储位置与观看/下载方式?
本站所有课程视频均存储于网盘平台。
您支持在线观看: 可在网盘内直接播放学习。
您支持下载: 可将视频下载至本地,使用播放器播放,更灵活便捷。

主要存储网盘:百度网盘

视频格式与加密情况?
本站所有课程视频均以 MP4 或 MKV 通用格式提供。
视频文件不加密,您可自由分享(请遵守相关法律法规)。
播放建议: 使用本地播放器(如 PotPlayer)播放时,可同时加载中英文字幕文件,学习体验更佳。您可参考我们提供的《PotPlayer 挂载中英双字幕教程》。
5. 关于售后支持与退款政策

遇到问题如何联系?
无论您在购买前或购买后遇到任何疑问,都欢迎随时联系站长。 我们将竭诚为您服务。

退款政策说明:
原则: 由于虚拟商品(课程、资料等)具有可复制性,一旦购买成功并完成下载,原则上不支持退款。

请您在购买前仔细阅读课程介绍、资料说明及本条款,确认符合您的需求。 如有不确定之处,欢迎先行咨询站长。

© 版权声明
THE END
喜欢就支持一下吧
点赞15 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容