JDK/Java 17 GA,新增「Free Java License」原创
来源:开源中国,转载已获授权
https://www.oschina.net/news/160291/jdk-17-lts-ga
按照发布规划,JDK/Java 17 属于长期支持版本 (LTS),将会获得 8 年的技术支持,直至 2029 年 9 年。
JDK/Java 17 总共包含 14 个 JEP,具体如下:
Restore Always-Strict Floating-Point Semantics
恢复始终执行严格模式 (Always-Strict) 的浮点定义
Enhanced Pseudo-Random Number Generators
添加增强的伪随机数生成器
New macOS Rendering Pipeline
为 macOS 引入新渲染管道
macOS/AArch64 Port
支持将 JDK 移植到 macOS/AArch64 架构
Deprecate the Applet API for Removal
弃用待移除的 Applet API
Strongly Encapsulate JDK Internals
强封装的 JDK 内部 API,默认对 JDK 内部进行强封装
Pattern Matching for switch (Preview)
switch 模式匹配进入预览 (Preview) 阶段
Remove RMI Activation
移除 RMI(远程方法调用)激活机制
Sealed Classes
密封类和接口正式可用,用于限制哪些类和接口可以继承或实现它们。
Remove the Experimental AOT and JIT Compiler
移除实验性的 AOT 和 JIT 编译器
Deprecate the Security Manager for Removal
弃用待移除的安全管理器 (Security Manager)
Foreign Function & Memory API (Incubator)
外部函数和内存 API 进入孵化阶段,Java 应用程序通过该 API 能够与 Java 运行时之外的代码和数据进行互操作。
Vector API (Second Incubator)
在 JDK/Java 17 中,Vector API 已进入孵化的第二阶段,Vector API 用于表达可在支持的 CPU 架构上编译为最佳矢量硬件指令的矢量计算,以实现优于等效标量计算的性能。
Context-Specific Deserialization Filters
增加面向特定上下文的反序列化过滤器,此特性允许应用程序通过 JVM 的过滤器工厂配置特定于上下文和动态选择的反序列化过滤器。
值得一提的是,根据 Oracle 最新推出的「Free Java License」,Oracle JDK 可免费用于生产环境。
Free Java License 摘要
- 为 Oracle JDK 免费提供所有季度的安全更新,包括商业和生产用途。
- 新的许可证属于“Oracle 免费条款和条件”(NFTC) 许可证。此许可证允许所有用户免费使用,甚至可以用于商业和生产用途。再分发同样不收取费用。
- 开发者和组织现可轻松下载、使用、共享和重新分发 Oracle JDK。
Oracle 将从 Oracle JDK 17 开始提供这些免费版本和更新,并在下一个 LTS 版本发布之后继续提供整整一年。注意以前的版本不受此更改的影响。 - Oracle 将继续按照自 Java 9 以来的相同版本和时间表提供 GPL 下的 Oracle OpenJDK 版本。
- 此外,Oracle 还提议将 JDK LTS 的发布周期从每三年一次改为每两年一次。如果该提案被接受,这意味着 JDK 17 之后的下一个 JDK LTS 版本将是 JDK 21,而不是 JDK 23。
发布公告: https://mail.openjdk.java.net/
下载: https://jdk.java.net/17/
Release notes: https://jdk.java.net/17/release-notes
文档: https://docs.oracle.com/en/java/javase/17/index.html