本文最后更新于 1272 天前,其中的信息可能已经有所发展或是发生改变。
Java 14 它不是一个长久支持(LTS)版本。虽然该版本并不是长期版本,但即使再发布新版本也是在此基础上的。
在JDK14中新增了以下16个新特性:
- 305: instanceof的模式匹配 (预览)
- 343: 打包工具 (Incubator)
- 345: G1的NUMA内存分配优化
- 349: JFR事件流
- 352: 非原子性的字节缓冲区映射
- 358: 友好的空指针异常
- 359: Records (预览)
- 361: Switch表达式 (标准)
- 362: 弃用Solaris和SPARC端口
- 363: 移除CMS(Concurrent Mark Sweep)垃圾收集器
- 364: macOS系统上的ZGC
- 365: Windows系统上的ZGC
- 366: 弃用ParallelScavenge + SerialOld GC组合
- 367: 移除Pack200 Tools和API
- 368: 文本块 (第二个预览版)
- 370: 外部存储器API (Incubator)
重点特性列表:
- instanceof的模式匹配 (预览)
- Switch表达式 (标准)
- 文本块
instanceof模式匹配
过去我们写instanceof,需要这么写:
通过java14的新特性,我们可以简化成如下方式:
Switch表达式
Switch表达式在之前已经描述过不在继续描述
文本块作为预览特性保留
在 Java 13 之前,多行字符串写法为:
在 Java 13 引入文本块之后,写法为:
记录类型(Record Type)的引入(预览特性)
Java 14中记录类型(Record Type)作为预览特性被引入。记录对象允许使用紧凑的语法来声明类,和枚举类型一样,记录也是类的一种受限形式。
Record类型使用如下:
感觉很像lombock