写点什么

Java 17 正式发布,Oracle 宣布从 JDK 17 开始正式免费,Java 迈入新时代

用户头像
胧月
关注
发布于: 2 小时前

作者:大技术

链接:https://zhuanlan.zhihu.com/p/411162582



JDK 16 刚发布半年(2021/03/16),JDK 17 又如期而至(2021/09/14),这个时间点牛逼啊,蹭苹果发布会的热度?记得当年 JDK 15 的发布也是同天,巧了。。。

虽然 iPhone 13 发布了,但真的不是 13 香,真没什么创新和亮点,一如继往苹果式挤牙膏,在 13 上真的挤到精髓了,这次我想说,JDK 17 更香!

iPhone 13 降价算啥??JDK 17 直接干到免费!

Oracle 宣布,从 JDK 17 开始,后面的 JDK 都全部免费提供!



是的,你没有看错,Oracle 这次良心了,发大招了,Java 17+ 可以免费使用了,包括商用。

Oracle 免费 JDK

JAVA 17 带来的不仅仅是新功能。更快的 LTS 节奏和免费的 Oracle JDK 使其成为有史以来支持最好的现代版本。Oracle JDK 收费为人诟病,此次 Oracle 推出了 Free Java License ,大致摘要:

  • Oracle 正在免费提供行业领先的 Oracle JDK,包括所有季度安全更新。这包括商业和生产用途。

  • 新许可是“Oracle 免费条款和条件”(NFTC) 许可。此 Oracle JDK 许可证允许所有用户免费使用,甚至可以用于商业和生产用途。只要不收费,再分发是允许的。

  • 开发人员和组织现在无需点击即可轻松下载、使用、共享和重新分发 Oracle JDK。

  • Oracle 将从 Oracle JDK 17 开始提供这些免费版本和更新,并在下一个 LTS 版本之后继续提供整整一年。以前的版本不受此更改的影响。

  • Oracle 将继续按照自 Java 9 以来的相同版本和时间表提供 GPL 下的 Oracle OpenJDK 版本。

更详细的条款可以阅读:

https://www.oracle.com/downloads/licenses/no-fee-license.html

来看下最新 Oracle Java SE 支持路线图:



下一个第三个长期支持版本是 JDK 21,时间为 2023 年 9 月,这次长期支持版本发布计划改了,不再是原来的 3 年一次,而是改成了 2 年一次!

另外,非长期支持版本还是半年发一次不变,下一个非长期支持版本计划在 2022/03 发布,但注意不要用在生产。

任何产品都有自己的支持策略,一个产品不可能无期限的给予最高优先级的支持。Oracle 对自己产品的支持强度分为三个级别:最高优先级的支持中等优先级的支持最低优先级的支持

了解了这些能够帮助你选择最合适你的 Java 版本。另外这里提一句,如果你使用密码算法出现了什么 IllegalKeysize或者什么 key length错误,也是你 JDK 选择的原因。只要注意两点就行了:优先 LTS 版本,优先 OpenJDK。

Java 在不断吸收其他语言的特性,增加自己的竞争力,Java11 和 Java8 都是长期支持(Long term support ,LTS),估计之后 Java11 之后会慢慢取代 Java8 了。从 Oracle Java SE 支持路线图可以看到,JDK 17 是自 2018 年 JDK 11 后的第二个长期支持版本,支持到 2029 年 9 月,好家伙,支持时间长达 8 年,这下可以不用死守 JDK 8 和 JDK11 了,JDK 17+ 也可以是一种新的选择了。

下一个第三个长期支持版本是 JDK 21,时间为 2023 年 9 月,这次长期支持版本发布计划改了,不再是原来的 3 年一次,而是改成了 2 年一次!

另外,非长期支持版本还是半年发一次不变,下一个非长期支持版本计划在 2022/03 发布,但注意不要用在生产。

JAVA 17 正式发布,这是一个 LTS(长期支持)版本,带来了不少有用的新特性。

JDK 17 新特性一览

Java 17 具有以下提议的特性:JEP 415:特定于上下文的反序列化过滤器 JEP 414:Vector API(第二个孵化器)JEP 412:外部函数和内存 API(孵化器)JEP 411:弃用安全管理器以进行删除 JEP 410:删除实验性 AOT 和 JIT 编译器 JEP 409:密封类 JEP 407:删除 RMI 激活 JEP 406:开关模式匹配(预览)JEP 403:强封装 JDK 内部 JEP 398:弃用 Applet API 以进行删除 JEP 391:macOS/AArch64 端口 JEP 382:新的 macOS 渲染管线 JEP 356:增强型伪随机数生成器 JEP 306:恢复始终严格的浮点语义

JDK 17 这个版本提供了 14 个增强功能,另外在性能、稳定性和安全性上面也得到了大量的提升,以及还有一些孵化和预览特性,有了这些新变化,Java 会进一步提高开发人员的生产力。

JDK 17 都免费了,和 OpenJDK 还有区别?

有的,虽然两者很接近,但也还是有一点区别!

1、Oracle JDK 提供了各种安装程序,还包含更新规则,而 OpenJDK 只提供了一个纯压缩包;

2、Usage Logging 仅在 Oracle JDK 中可用;

3、Oracle JDK 要求第三方加密提供程序使用 Java 加密扩展(JCE)进行签名,而 OpenJDK 继续允许使用未签名的第三方加密提供程序;

4、java -version 的输出也是不同的,Oracle JDK 返回 Java 并包含 Oracle 特定的标识符,OpenJDK 返回 OpenJDK 并且不包含特定于 Oracle 的标识符;

5、许可证不同,Oracle JDK 17+ 是根据 Oracle 免费条款和条件许可发布的,而 OpenJDK 在 GPLv2wCP 下发布的;

6、Oracle JDK 源代码含有 "ORACLE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.",其使用受许可条款约束的,而 OpenJDK 源代码可参考 GPL 许可条款;

以上是两者最主要的 6 点区别。

总结

最后,本文主要介绍了 JDK/Java 17 的 14 个新特性基本面,后面栈长有时间也会继续更新一些 JDK 新特性详细教程,关注公众号:大技术,第一时间推送哦。

Java 17 发布了,Oracle 宣布 JDK 17 及之后的版本都免费使用,包括商用,爽!!!Oracle 这次真的良心了,或许是趋于某种压力进行免费?

Java 确实是在走下坡路,即使如此,也是老当益壮,是现在各大企业必用的语言之一。

虽然大部分人现在还在用着 JDK 7/8,甚至 6,还在写着 JDK 5 的语法,现在随着 JDK 17+ 的免费,或者在未来的不久,JDK 8 会逐渐被替代,JDK 17+ 慢慢走上舞台。

OracleJDK 17 发布地址:

https://www.oracle.com/java/technologies/javase/17-relnotes.html

OpenJDK 17 发布地址:

http://openjdk.java.net/projects/jdk/17/

Oracle JDK 17 下载地址:

https://www.oracle.com/java/technologies/javase-downloads.html

OpenJDK 17 下载地址:

https://jdk.java.net/17/

有兴趣的可以下载尝鲜了!!

在此之前,Spring 官方也宣布,明年发布的 Spring framework 6 和 Spring Boot 3 都将基于 JAVA 17,你还要坚守 JAVA 8 吗?来投票看看!

— THE END —


【免责声明】图文来自网络,版权归原作者所有。如侵权请联系删除;我们对文中观点保持中立,仅供参考、交流之目的。

推荐阅读


本文来自公众号:大技术

用户头像

胧月

关注

还未添加个人签名 2021.08.17 加入

还未添加个人简介

评论

发布
暂无评论
Java 17 正式发布,Oracle 宣布从 JDK 17 开始正式免费,Java 迈入新时代