当前位置:首页 > 科技  > 软件

一起聊聊GraalVM for JDK 21

来源: 责编: 时间:2023-09-21 20:48:25 968观看
导读JDK 21 已经于 2023 年 9 月 19 日正式发布。本文总结了 JDK 21 发布的新特性。发布版本说明根据发布的规划,这次发布的 JDK 21 将是一个长期支持版(LTS 版)。LTS 版每 2 年发布一个,上一次长期支持版是 21 年 9 月发布的

JDK 21 已经于 2023 年 9 月 19 日正式发布。本文总结了 JDK 21 发布的新特性。rOK28资讯网——每日最新资讯28at.com

发布版本说明

根据发布的规划,这次发布的 JDK 21 将是一个长期支持版(LTS 版)。LTS 版每 2 年发布一个,上一次长期支持版是 21 年 9 月发布的 JDK 17。rOK28资讯网——每日最新资讯28at.com

本版本是 Java SE 平台 21 版的参考实现,由 Java 社区流程中的 JSR 396 指定。rOK28资讯网——每日最新资讯28at.com

安装包下载

主要分为 OpenJDK 版本和 Oracle 版本,下载地址如下:rOK28资讯网——每日最新资讯28at.com

  • OpenJDK 版本:https://jdk.java/21/
  • Oracle 版本:https://www.oracle.com/java/technologies/downloads/

上述版本,如果是个人学习用途,则差异不大。但如果是用于商业用途,则需要仔细看好相关的授权。Oracle JDK 商用需要遵循 Oracle No-Fee Terms and Conditions (NFTC) 协议,而 OpenJDK 根据 GPL v2 许可获得许可。rOK28资讯网——每日最新资讯28at.com

更多有关 Java 的基本知识,可以参阅《Java 核心编程》这本书,描述的非常详细。rOK28资讯网——每日最新资讯28at.com

JDK 21 新特性说明

正式稳定功能

JEP 431:序列集合

序列集合(Sequenced Collections)在 core-libs/java.util:collections 包中。rOK28资讯网——每日最新资讯28at.com

该 JEP 提议引入 “一个新的接口族,用于表示集合的概念,这些集合的元素按照预定义的序列或顺序排列,它们是作为集合的结构属性。” 这一提案的动机是由于集合框架中缺乏预定义的顺序和统一的操作集。rOK28资讯网——每日最新资讯28at.com

JEP 439:分代 ZGC

分代 ZGC(Generational ZGC)在 hotspot/gc 包中。rOK28资讯网——每日最新资讯28at.com

通过扩展 Z 垃圾回收器(ZGC)来维护年轻对象和年老对象的独立生成,从而提高应用程序性能。这将使 ZGC 能够更频繁地收集年轻对象 —— 这些对象往往英年早逝。rOK28资讯网——每日最新资讯28at.com

JEP 440:记录模式

使用记录模式(Record Patterns)增强 Java 编程语言,以解构记录值。可以嵌套记录模式和类型模式,以实现功能强大、声明性和可组合形式的数据导航和处理。rOK28资讯网——每日最新资讯28at.com

JEP 441:switch 模式匹配

通过 switch 表达式和语句的模式匹配来增强 Java 编程语言。通过将模式匹配扩展到 switch,可以针对多个模式测试表达式,每个模式都有一个特定的操作,从而可以简洁、安全地表达复杂的面向数据的查询。rOK28资讯网——每日最新资讯28at.com

JEP 444:虚拟线程

将虚拟线程(Virtual Threads)引入 Java 平台。虚拟线程是轻量级线程,可以显著减少编写、维护和观察高吞吐量并发应用程序的工作量。rOK28资讯网——每日最新资讯28at.com

详见《Java 下一代高并发技术 —— 虚拟线程(Virtual Threads)》。rOK28资讯网——每日最新资讯28at.com

JEP 449:弃用 Windows 32 位 x86 移植

弃用 Windows 32 位 x86 移植,并打算在将来的版本中将其删除。rOK28资讯网——每日最新资讯28at.com

JEP 451:准备禁止动态加载代理

将代理动态加载到正在运行的 JVM 中时发出警告。这些警告旨在让用户为将来的版本做好准备,该版本默认情况下不允许动态加载代理,以提高默认情况下的完整性。在启动时加载代理的可服务性工具不会导致在任何版本中发出警告。rOK28资讯网——每日最新资讯28at.com

JEP 452:密钥封装机制 API

介绍一种用于密钥封装机制(Key Encapsulation Mechanism,简称 KEM)的 API,这是一种使用公钥加密来保护对称密钥的加密技术。rOK28资讯网——每日最新资讯28at.com

预览阶段功能

JEP 430:字符串模板(预览)

使用字符串模板(String Templates)增强 Java 编程语言。字符串模板通过将文本与嵌入的表达式和模板处理器耦合来生成专门的结果,从而补充 Java 现有的字符串文本和文本块。这是一个预览语言功能和 API。rOK28资讯网——每日最新资讯28at.com

JEP 442:外部函数和内存 API(第三次预览)

引入 API,Java 程序可以通过该 API 与 Java 运行时之外的代码和数据进行互操作。通过有效地调用外部函数(即 JVM 外部的代码),并通过安全地访问外部内存(即不受 JVM 管理的内存),API 使 Java 程序能够调用本机库并处理本机数据,而不会出现 JNI 的脆弱性和危险性。这是一个预览 API。rOK28资讯网——每日最新资讯28at.com

JEP 443:未命名模式和变量(预览)

使用未命名模式和未命名变量来增强 Java 语言,未命名模式匹配记录组件而不说明组件的名称或类型,未命名变量可以初始化但不使用。两者都用下划线字符_表示。这是一个预览语言功能。rOK28资讯网——每日最新资讯28at.com

JEP 445:未命名类和实例主方法(预览)

发展 Java 语言,使学生无需理解为大型程序设计的语言功能即可编写第一个程序。学生们不用使用单独的 Java 方言,就可以为单类程序编写精简的声明,然后随着技能的发展,无缝地扩展程序,使用更高级的功能。这是一个预览语言功能。rOK28资讯网——每日最新资讯28at.com

JEP 446:作用域值(预览)

引入作用域值,这些值可以在不使用方法参数的情况下安全有效地共享给方法。它们优先于线程化局部变量,尤其是在使用大量虚拟线程时。这是一个预览 API。rOK28资讯网——每日最新资讯28at.com

实际上,作用域值是一个隐式方法参数。这 “就好像” 一系列调用中的每个方法都有一个额外的、不可见的参数。没有任何方法声明此参数,只有能够访问作用域值对象的方法才能访问其值(数据)。通过作用域值,可以通过一系列中间方法将数据从调用者安全地传递给遥远的被调用者,这些中间方法不声明数据的参数,也无法访问数据。rOK28资讯网——每日最新资讯28at.com

JEP 453:结构化并发(预览)

通过引入用于结构化并发(Structured Concurrency)的 API 来简化并发编程。结构化并发将在不同线程中运行的相关任务组视为单个工作单元,从而简化错误处理和消除,提高可靠性,并增强可观察性。这是一个预览 API。rOK28资讯网——每日最新资讯28at.com

孵化阶段功能

JEP 448:Vector API(孵化器第六阶段)

引入 API 来表示向量计算,这些向量计算在运行时可靠地编译为支持的 CPU 架构上的最佳向量指令,从而实现优于等效标量计算的性能。rOK28资讯网——每日最新资讯28at.com

参考引用

  • 本文同步至: https://waylau.com/jdk-21-released/
  • https://waylau.com/jdk-17-released/
  • https://waylau.com/jdk-16-released/
  • https://waylau.com/jdk-15-released/
  • https://waylau.com/jdk-14-released/
  • 《Java 核心编程》
  • 开源项目 “现代 Java 案例大全” https://github.com/waylau/modern-java-demos

本文链接:http://www.28at.com/showinfo-26-10907-0.html一起聊聊GraalVM for JDK 21

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。邮件:2376512515@qq.com

上一篇: 用.NET X64 Native AOT编写的操作系统

下一篇: 一篇聊聊Mybatis插件开发

标签:
  • 热门焦点
  • MIX Fold3包装盒泄露 新机本月登场

    小米的全新折叠屏旗舰MIX Fold3将于本月发布,近日该机的真机包装盒在网上泄露。从图上来看,新的MIX Fold3包装盒在外观设计方面延续了之前的方案,变化不大,这也是目前小米旗舰
  • JavaScript 混淆及反混淆代码工具

    介绍在我们开始学习反混淆之前,我们首先要了解一下代码混淆。如果不了解代码是如何混淆的,我们可能无法成功对代码进行反混淆,尤其是使用自定义混淆器对其进行混淆时。什么是混
  • 如何正确使用:Has和:Nth-Last-Child

    我们可以用CSS检查,以了解一组元素的数量是否小于或等于一个数字。例如,一个拥有三个或更多子项的grid。你可能会想,为什么需要这样做呢?在某些情况下,一个组件或一个布局可能会
  • 使用LLM插件从命令行访问Llama 2

    最近的一个大新闻是Meta AI推出了新的开源授权的大型语言模型Llama 2。这是一项非常重要的进展:Llama 2可免费用于研究和商业用途。(几小时前,swyy发现它已从LLaMA 2更名为Lla
  • 虚拟键盘 API 的妙用

    你是否在遇到过这样的问题:移动设备上有一个固定元素,当激活虚拟键盘时,该元素被隐藏在了键盘下方?多年来,这一直是 Web 上的默认行为,在本文中,我们将探讨这个问题、为什么会发生
  • 破圈是B站头上的紧箍咒

    来源 | 光子星球撰文 | 吴坤谚编辑 | 吴先之每年的暑期档都少不了瞄准追剧女孩们的古偶剧集,2021年有优酷的《山河令》,2022年有爱奇艺的《苍兰诀》,今年却轮到小破站抓住了追
  • 猿辅导与新东方的两种“归途”

    作者|卓心月 出品|零态LT(ID:LingTai_LT)如何成为一家伟大企业?答案一定是对“势”的把握,这其中最关键的当属对企业战略的制定,且能够站在未来看现在,即使这其中的
  • 华为发布HarmonyOS 4:更好玩、更流畅、更安全

    在8月4日的华为开发者大会2023(HDC.Together)大会上,HarmonyOS 4正式发布。自2019年发布以来,HarmonyOS一直以用户为中心,经历四年多的发展HarmonyOS已
  • OPPO K11搭载高性能石墨散热系统:旗舰同款 性能凉爽释放

    日前OPPO官方宣布,将于7月25日14:30举办新品发布会,届时全新的OPPO K11将正式与大家见面,将主打旗舰影像,和同档位竞品相比,其最大的卖点就是将配备索尼
Top