2021年09月14 JDK 17
发布。这是 JDK 11
后的第二个长期支持版本( 2029年9月到期 )。
根据最新发布的“Oracle No-Fee Terms and Conditions”(NFTC)许可,撤回了 2018 年制定的要对 Oracle JDK 收取商用费用的决定,并且不影响 Oracle OpenJDK 的发行。
新特性: http://openjdk.java.net/projects/jdk/17/
- 306: Restore Always-Strict Floating-Point Semantics
- 356: Enhanced Pseudo-Random Number Generators
- 382: New macOS Rendering Pipeline
- 391: macOS/AArch64 Port
- 398: Deprecate the Applet API for Removal
- 403: Strongly Encapsulate JDK Internals JDK
- 406: Pattern Matching for switch (Preview)
- 407: Remove RMI Activation
- 409: Sealed Classes
- 410: Remove the Experimental AOT and JIT Compiler
- 411: Deprecate the Security Manager for Removal
- 412: Foreign Function & Memory API (Incubator)
- 414: Vector API (Second Incubator)
- 415: Context-Specific Deserialization Filters
中文
- 306: 恢复始终执行严格模式的浮点定义
- 356: 增强型伪随机数生成器
- 382: 新的 macOS 渲染管道
- 391: 支持原生的 Apple 的新 Arm 64 架构(Mac 的 M1 芯片)
- 398: 弃用 Applet API
- 403: JDK 内部强封装
- 406: 为 switch 支持模式匹配
- 407: 移除 RMI 激活
- 409: 正式引入密封类,限制抽象类的实现
- 410: 移除实验性的 AOT 和 JIT 编译器
- 411: 弃用安全管理器
- 412: 外部函数和内存 API(孵化中)
- 414: 矢量 API(二次孵化中)
- 415: 上下文特定反序列化过滤器
总结:虽然JDK17也是一个LTS版本,但是并没有像JDK8和JDK11一样引入比较突出的特性,主要是对前几个版本的整合和完善。
Spring Boot 2.5.5是Spring Boot 第一个支持Java 17的版本