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+ 慢慢走上舞台。