Java 17 正式发布,Oracle宣布提供免费JDK

{"type":"doc","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" 当地时间9月14日,Oracle发布了Java 开发工具包,版本 17("},{"type":"link","attrs":{"href":"https:\/\/mail.openjdk.java.net\/pipermail\/jdk-dev\/2021-September\/006037.html","title":null,"type":null},"content":[{"type":"text","text":"JDK 17"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"),并将成为大多数供应商的长期支持 (LTS) 版本。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"通常情况下,Java 版本每六个月更新一次,分别在 3 月和 9 月。根据 Oracle "},{"type":"link","attrs":{"href":"https:\/\/www.oracle.com\/java\/technologies\/java-se-support-roadmap.html","title":null,"type":null},"content":[{"type":"text","text":"Java SE 支持生命周期"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":",这些支持仅保持六个月,直到下一个版本出现,而 LTS 版本的支持时间为八年。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"JDK 17 通用版本是Java SE 17 平台在GNU通用公共许可证(v2)下的实现,带有 Classpath Exception。Oracle 表示将从Oracle JDK 17开始提供Oracle JDK 免费版本和更新,并在下一个 LTS 版本之后继续提供整整一年。以前的版本不受此更改的影响。而在非开源许可下,开发者可以在"},{"type":"link","attrs":{"href":"https:\/\/www.oracle.com\/technetwork\/java\/javase\/downloads\/index.html","title":null,"type":null},"content":[{"type":"text","text":" Oracle 技术网"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"找到来自 Oracle 的 JDK 17 商业版本。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"据官网介绍,新版本主要发生了以下"},{"type":"link","attrs":{"href":"https:\/\/www.oracle.com\/java\/technologies\/javase\/17-relnote-issues.html#NewFeature","title":null,"type":null},"content":[{"type":"text","text":"变化"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":":"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"bulletedlist","content":[{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"JEP 306:恢复始终严格的浮点语义"}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"JEP 356:增强型伪随机数发生器。为伪随机数生成器(PRNG)提供新的接口类型和实现,包括可跳转的PRNG和附加类的可分割PRNG算法(LXM)。"}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"JEP 382:新的 macOS 渲染管线。Swing API用于渲染的Java 2D API,现在可以使用新macOS的Apple Metal加速渲染API。"}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"JEP 391:macOS\/AArch64 端口。macOS 11.0 现在支持 AArch64 架构。该 JEP 在 JDK 中实现了对 macos-aarch64平台的支持。添加的功能之一是支持 W^X(写异或执行)内存。它仅在macos-aarch64 中启用,在某些情况下可以扩展到其他平台。JDK 既可以在 Intel 机器上交叉编译,也可以在基于 Apple M1 的机器上编译。"}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"JEP 398:弃用 Applet API ,并进行删除。基本上无关紧要,因为所有 Web 浏览器供应商都已取消了对 Java 浏览器插件的支持或宣布了该类计划。"}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"JEP 403:强封装JDK内部。强封装了 JDK 的所有内部元素,除了像sun.misc.Unsafe这样的关键内部API。"}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"JEP 406:切换模式匹配(预览)。使用 switch 表达式和语句的模式匹配以及对模式语言的扩展来增强 Java 编程语言。"}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"JEP 407:删除 RMI 激活。RMI Activation 是 RMI 的一个过时部分,自 Java SE 8 以来一直是可选的。 RMI Activation 已被Java SE 15 中的JEP 385弃用,并被JEP 407从此版本中删除。该rmid工具也已被删除。"}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"JEP 409:密封类。密封类已添加到 Java 语言中。"}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"JEP 410:删除实验性 AOT 和 JIT 编译器。HotSpot VM 中的 AOT Compiler 相关代码已被删除。使用JEP 295 定义的 HotSpot VM 选项会在 VM 初始化时产生“无法识别的 VM 选项”错误。"}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"JEP 411:弃用安全管理器,并进行删除。安全管理器和与之相关的api已经弃用,并将在未来的版本中删除。"}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"JEP 412:外部函数和内存 API(孵化器)。通过该 API ,Java程序可以在Java运行时之外与代码和数据进行互操作。通过有效地调用外部函数(即JVM外的代码),以及安全地访问外部内存(即不由JVM管理的内存),API使Java程序能够调用本地库并处理本地数据,而不会有JNI的脆弱性和危险。"}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"JEP 414:Vector API(第二孵化器)"}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"JEP 415:特定于上下文的反序列化过滤器。允许应用程序通过jvm范围的过滤器工厂配置特定于上下文的和动态选择的反序列化过滤器,调用该过滤器工厂可为每个单独的反序列化操作选择过滤器。"}]}]}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"除此之外,新版本还有数百个较小的增强功能和近两千个bug修复。开发者可通过以下链接下载或了解更多:"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"立即下载:"},{"type":"link","attrs":{"href":"https:\/\/t.co\/ui83Aehxoq?amp=1","title":null,"type":null},"content":[{"type":"text","text":"https: \/\/social.ora.cl\/6013y4ya7"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"发行说明:"},{"type":"link","attrs":{"href":"https:\/\/t.co\/VKB0vfaPsP?amp=1","title":null,"type":null},"content":[{"type":"text","text":"https: \/\/social.ora.cl\/6019y4yxD"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"API Javadoc:"},{"type":"link","attrs":{"href":"https:\/\/t.co\/VHs6UWdka8?amp=1","title":null,"type":null},"content":[{"type":"text","text":"https: \/\/social.ora.cl\/6011y4yx1"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"文档:"},{"type":"link","attrs":{"href":"https:\/\/docs.oracle.com\/en\/java\/javase\/17\/index.html","title":null,"type":null},"content":[{"type":"text","text":"https:\/\/docs.oracle.com\/en\/java\/javase\/17\/index.html"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"Oracle透露下一个LTS版本应该是Java 21,并在2023年9月可用,这将把正在进行的LTS发布周期从3年改为2年。Oracle 将至少在2029 年 9 月之前为客户提供 Java 17 的安全、性能和错误修复更新。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"对于迁移到Java 17的难度,JetBrains的Java开发者倡导者Dalia Abo Sheasha认为最大的问题将是强封装。“因为之前我的建议是保持非法访问标记,而强封装意味着它不再存在。”"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"“JDK开发人员面临的最大挑战之一就是,虽然向Java添加许多特性是件好事,但他们必须以一种非常可控的方式来做,以确保向后兼容性不会从根本上受到影响。”Azul Systems 副首席技术官 Simon Ritter表示,Java比Kotlin等语言进化得慢的原因,很大程度上就是为了确保不会被破坏。”"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]}]}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章