深入剖析Java新特性

深入剖析Java新特性 / 手把手带你吃透Java新特性

范学雷

前Oracle首席软件工程师,Java SE安全组成员,OpenJDK评审成员

  • 课程目录
  • 课程介绍
  • 开篇词 | 拥抱Java新特性,像设计者一样工作和思考

    从今天开始,我们会用 20 讲的时间,学习 JDK 8 之后Java最重要的一些新特性。

  • 01 | JShell:怎么快速验证简单的小问题?

    今天,我们聊一聊Java的交互式编程环境,JShell。

  • 02 | 文字块:怎么编写所见即所得的字符串?

    文字块的概念很简单,它是一个由多行文字构成的字符串。既然是字符串,为什么还需要文字块这个新概念呢?文字块和字符串又有什么区别呢?让我们通过案例和代码来弄清楚这些问题吧。

  • 03 | 档案类:怎么精简地表达不可变数据?

    今天,我们聊一聊Java的档案类。

  • 04 | 封闭类:怎么刹住失控的扩展性?

    今天,我们聊一聊Java的封闭类。

  • 05 | 类型匹配:怎么切除臃肿的强制转换?

    今天,我们聊一聊Java模式匹配,主要是类型匹配。

  • 06 | switch表达式:怎么简化多情景操作?

    今天,我们聊一聊Switch表达式。

  • 07 | switch匹配:能不能适配不同的类型?

    今天,我们聊一聊switch的模式匹配。

  • 08 | 抛出异常,是不是错误处理的第一选择?

    这节课,我们聊一聊Java的错误处理。

  • 09 | 异常恢复,付出的代价能不能少一点?

    今天,我们接着讨论Java的错误处理。

  • 10 | Flow,是异步编程的终极选择吗?

    今天,我们讨论反应式编程。

  • 11 | 矢量运算:Java的机器学习要来了吗?

    今天,我们讨论Java的矢量运算。

  • 12 | 外部内存接口:零拷贝的障碍还有多少?

    今天,我们来讨论Java的外部内存接口。

  • 13 | 外部函数接口,能不能取代Java本地接口?

    今天,我们一起来讨论Java的外部函数接口。

  • 14 | 禁止空指针,该怎么避免崩溃的空指针?

    这节课我们讨论Java的空指针。

  • 15 | 现代密码:你用的加密算法过时了吗?

    今天,我们聊聊JDK里的密码学算法相关的问题。

  • 16 | 改进的废弃,怎么避免使用废弃的特性?

    今天,我们讨论Java公开接口的废弃。

  • 17 | 模块系统:为什么Java需要模块化?

    今天,我们一起来讨论Java平台模块系统(Java Platform Module System,JPMS)。

  • 18 | 模块系统:怎么模块化你的应用程序?

    今天,我们继续讨论Java平台模块系统(Java Platform Module System,JPMS)。

  • 期末测试|来赴一场满分之约!

    特别给你准备了一套Java新特性测试题,快来挑战一下吧!

  • 结束语 | Java的未来,依然是星辰大海

    你和我,都是推动Java向前走的力量。祝愿Java有一个美好的未来,也祝愿你有一个更美好的未来!

  • 用户故事 | 保持好奇心,积极拥抱变化

    我们邀请到了《深入剖析Java新特性》专栏的用户贾慧鑫,给我们分享他在学习过程中的心得。

  • 用户故事 | 与新特性开发者对话

    今天,我们邀请到了一位范学雷老师的“老学员”,分享他对课程和新特性的看法。

你将获得

  • JDK 8以来重量级的Java新特性清单
  • 从案例出发,全方位拆解新特性
  • 突破Java技能瓶颈的快速通道
  • 即学即练,吃透新特性的应用场景

讲师介绍

范学雷,前 Oracle 首席软件工程师,Java SE 安全组成员,OpenJDK 评审成员,经历了从 JDK 5 到 JDK 18 的研发过程。同时,他也是 Java SE 安全的主要推动者和贡献者之一,是 Java 语言平台的设计实现者之一。

极客时间《代码精进之路》和《实用密码学》专栏作者,JavaOne、QCon 等会议的讲师和专题出品人。

课程介绍

最近几年,JDK 推出新版本的频率真是让人有些望尘莫及。3年前,LTS 版本的 JDK 11 刚刚推出,今年9月之后,它又要被同样作为LTS版本的 JDK 17 顶替了。

然而对于从事一线开发的Java工作者来说,“版本任你发,我用 Java 8 ”似乎是一句经久不衰的口头禅。这句话的背后隐藏的疑问是:学这些新特性真的有必要吗?

对于很多人来说,因为自己所在的公司还在使用 JDK 8,所以这些新特性,即使学了也用不上。

不能否认,一种新特性从诞生到被大众所接纳,确实需要经历一段相对漫长的过程。但设计一项新特性,是为了满足更新的需求,是为了迈向更广阔的前景。新特性本身,就是技术进步的具体体现。这些新特性的优越性,会随着时间的推进变得越来越明显。

几年前,淘宝的基础设施从 JDK 7 升级到 JDK 8 。升级的过程,当然有很多争论和不情愿。最后的结果,我们也看到了,淘宝并没有停留在 JDK 7 。用他们自己人的话说就是:“升级到 JDK 8 ,真香!”

所以说,对新特性的抗拒并不是明智之举,如果哪天你一觉醒来发现主流企业都已经在使用 JDK 11 甚至 JDK 17 了,很可能就会面临“书到用时方恨少”的尴尬。因此,我们请来了Oracle的首席软件工程师范学雷老师来给你深入剖析一下Java新特性。

作为Java新特性的主要设计者之一,范学雷老师极富洞见地筛选出了 JDK 8 以来最重量级的18种新特性,为你划定了一条系统掌握新特性的快速通道。他不仅会通过案例带你深入了解这些新特性,还会从根源揭示新特性背后的设计理念,为你展示事半功倍的新特性叠加使用效果。 GitHub 上开设的代码库可以方便你即学即练,老师定期的评审意见则让你得到最有针对性的进阶方法论。

课程设计

按照新特性能够给我们带来的收益分门别类,这个课程一共有三个模块。它们分别是提升编码效率篇、提升代码性能篇和降低维护难度篇。

第一模块重点介绍了一些可以帮助我们提升编码效率的特性,比如说档案类、封闭类、类型匹配等。学完这一部分内容,你能够使用这些新特性,大幅度提高自己的编码效率,降低编码错误。保守估计,你的编码效率可以提高20%。这也就意味着,如果工作量不变,每一个星期你都可以多休息一天。

第二模块的焦点在于怎么使用新特性提升代码性能,比如错误处理的最新成果、响应流和矢量运算等。学完这一部分内容,你将能够使用这些新特性,大幅度提高软件产品的性能,节省运营费用。

第三模块的重点是怎么使用新特性降低代码的维护难度,比如模块化和安全性、兼容性问题等。学完这一部分内容,你将能够编写出更健壮、更容易维护的代码,并且能够知道怎么高效地把旧系统升级到 Java 的新版本。

课程目录

【每天 1.3 元,解锁极客时间超级会员】

特别放送

免费领取福利

限时活动推荐

订阅须知

相关教程

Learnfk - Arduino教程

Learnfk - Java Nio教程

Learnfk - JSON教程

Learnfk - HTML5教程

Learnfk - Xpath教程

Learnfk - VueJs教程

随机推荐

探浩TANHAO质量值得入手吗,告诉你哪款性价比高

Insta360GO坑不坑人看完这个评测就知道了!3分钟告诉你到底有没有...

双庆吸盘拖把架浴室免打孔扫把架卫生间置物架壁挂拖把夹要注意哪...

飞利浦新安怡水杯买前一定要先知道这些情况!为什么买家这样评价...

智汇手机臂包功能介绍,分析性价比质量怎么样!

亿健YIJIAN甩脂机抖抖机家用器材懒人健身器材SZ6为什么买家这样...