范学雷,前 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 的新版本。