[转帖]JDK/Java 17 GA,新增「Free Java License」

news/2024/10/6 14:34:35
https://zhuanlan.zhihu.com/p/410556607

 

 

按照发布规划,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。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hjln.cn/news/43027.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

解密Prompt系列31. LLM Agent之从经验中不断学习的智能体

模型想要完成自主能力进化和自主能力获得,需要通过Self-Reflection from Past Experience来实现。那如何获得经历,把经历转化成经验,并在推理中使用呢?本章介绍三种方案Agent智能体的工作流可以简单分成两种:一种是固定的静态工作流,一种是智能体自主决策的动态工作流。 …

06-伪类和伪元素

伪类和伪元素01-伪类 1.1 元素状态的概念代码示例 <!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewp…

05-常用选择器

CSS常用选择器01 标签选择器 一般用来给所有元素做一些通用性的设置(效率比较低,尽量不要使用) <!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="…

鸿蒙前端开发3-ArkTS语言基本语法

官方文档:https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V2/arkts-basic-syntax-0000001504650057-V2 1.基本语法 装饰器   用于装饰类、结构、方法以及变量,并赋予其特殊的含义。如上述示例中@Entry、@Component和@State都是装饰器,@Component表示自定…

04-2个常用的文本属性

2个常用的文本属性01 text-decoration <!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" c…

线程池的原理与C语言实现

这篇博客介绍了一个简单的线程池的C语言实现,详细解释了代码结构和工作流程,并附上了流程图。V1.0 2024年6月11日 发布于博客园目录 目录目录线程池原理线程池是什么线程池解决的问题动态创建子线程的缺点线程池相关接口线程池相关结构体struct task 任务节点线程池接口init_…

04- 2个常用的文本属性

2个常用的文本属性01-text-decoration点击查看代码 <!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="view…

【Docker系列】无法下载docker镜像的解决方法

近期因为网络问题,可能会遇到下载docker镜像失败的情况,可以尝试以下二种方法,来解决无法下载镜像的问题 如果会终端命令操作,建议使用 方法二、使用阿里云docker仓库下载镜像,因为国内仓库下载速度快方法一、改host文件指定域名的IP 如果拉取镜像遇到下面的错误: docker…