JDK/Java 17 GA,新增「Free Java License」

来源: OSCHINA
编辑: oschina
2021-09-15 07:05:00

JDK/Java 17 已正式 GA

按照发布规划,JDK/Java 17 属于长期支持版本 (LTS),将会获得 8 年的技术支持,直至 2029 年 9 月。

JDK/Java 17 总共包含 14 个 JEP,具体如下:

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
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

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 LTS 的发布周期从每三年一次改为每两年一次。如果该提案被接受,这意味着 JDK 17 之后的下一个 JDK LTS 版本将是 JDK 21,而不是 JDK 23。

展开阅读全文
点击加入讨论🔥(71) 发布并加入讨论🔥
本篇精彩评论
免费了吧,jdk1.8-202版本之后没有多少用户量,oracle急了, 只有免费了,不然还停留在1.8
2021-09-15 10:04
13
举报
而且Oracle JDK免费了,可用于生产环境。【官方原话】JDK 17 binaries are free to use in production and free to redistribute, at no cost, under the Oracle No-Fee Terms and Conditions License.
2021-09-15 08:49
9
举报
要看你的应用,如果使用到 JEE 的 API(主要是 RMI, WebService 这一坨),影响会很大,因为从 JDK11 开始就删除了这部分内容,你要从外部引入。。然后就是 Java Applet , Java AWT 等有一些被删除,接着就是较小一部分 API 会被废弃。。如果你的应用都不涉及,那影响就很小了,当然,最好还是编译一下看一看
2021-09-15 10:33
5
举报
我是来安慰你的,费心费力回答了这些辛苦了,提问的那家伙真讨厌。我开始怀疑是 osc 官方的机器人。
2021-09-15 13:46
4
举报
使用了17的语法,你用1.8能编译过?
2021-09-15 11:15
4
举报
71 评论
9 收藏
分享
返回顶部
顶部