JDK21新特性

目录

虚拟线程(JEP 444):

顺序集合(JEP 431):

字符串模板(JEP 430):

模式匹配的增强(JEP 440、441以及443):

结构化并发和作用域值(JEP 453和446):

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

对协程的原生支持:

动态加载代理的改进与限制:

JVM内存模型和结构改进:

Z Garbage Collector(ZGC)性能优化:

Unix域套接字通道:

密钥封装机制API:

其他新特性:


  1. 虚拟线程(JEP 444)

    • 虚拟线程作为全平台功能在JDK21中引入,旨在提高Java应用程序的并发性能。
    • 虚拟线程是轻量级的线程实现,通过多对一映射的方法(许多虚拟线程共享一个平台线程)来提高应用程序的可扩展性。
    • 当虚拟线程休眠以进行IO操作时,JVM可以切换到另一个已准备好运行的线程中,从而提高资源利用率。
  2. 顺序集合(JEP 431)

    • JDK21引入了SequencedCollection接口,该接口被所有带有特定顺序的集合实现,如Deque、SortedSet等。
    • 这一特性将简化某些代码构造,提高开发效率。
  3. 字符串模板(JEP 430)

    • 在JDK21中,字符串模板作为预览版功能被引入。
    • 它允许在字符串中直接插入简单值或进行更复杂的评估,如算术运算或方法调用。
    • 这有助于简化构建需要内置变量组件的字符串过程。
  4. 模式匹配的增强(JEP 440、441以及443)

    • 模式匹配是一种强大的编程概念,自JDK14以来逐步引入。
    • 在JDK21中,通过增加相关功能来提升代码可读性和开发效率。
    • 新增的功能基于Java的其他较新特性构建,比如记录类和密封类。
  5. 结构化并发和作用域值(JEP 453和446)

    • 结构化并发提供了一种将作为独立线程创建的子任务分在一组的方法,保证所有子任务都能以一种可预测的方式完成或失败。
    • 作用域值使线程本地变量的替代,通过使用值代替变量来提升性能,并使代码更好理解。
  6. 未命名类和实例主方法(JEP 445)

    • 这一特性简化了编程步骤,使得使用Java编程变得更加容易。
    • 开发者现在只需要更少的代码便可写出简单的应用程序。
  7. 对协程的原生支持

    • 协程是一种轻量级的线程,可以在不同的函数之间切换执行,而不需要进行线程切换。
    • 这使得协程在IO密集型任务中具有很高的效率。
  8. 动态加载代理的改进与限制

    • JDK21增强了动态加载代理的功能,使其更加灵活和强大。
    • 同时,也计划要求像启动时加载代理一样,需要应用程序所有者批准动态加载代理,以提高完整性。
  9. JVM内存模型和结构改进

    • 包括内存管理优化、垃圾回收改进以及新的内存结构等。
    • 这些改进有助于提高Java应用程序的性能和稳定性。
  10. Z Garbage Collector(ZGC)性能优化

    • ZGC的回收速度和处理大型堆内存时的表现都得到了提升。
    • 这使得ZGC成为需要低延迟的Java应用程序的首选垃圾回收器。
  11. Unix域套接字通道

    • 对于在Unix系统上进行进程间通信非常有用。
    • 它提供了比传统网络套接字更高效的进程间通信方式。
  12. 密钥封装机制API

    • 允许应用程序使用RSA密钥封装机制(RSA-KEM)、椭圆曲线集成加密方案(ECIES)等KEM算法。
    • 提高了Java应用程序在加密技术方面的安全性。
  13. 其他新特性

    • 如分代ZGC、记录模式、switch的模式匹配、向量API的第六个孵化器以及外部函数和内存API的第三次预览等。
    • 这些特性在JDK21中也得到了进一步的发展和完善。

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

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

相关文章

json+Tomact项目报错怎么办?

在响应请求的时候,如果http响应没有指定响应数据的content-type,浏览器就不知道按照什么格式解析响应体的数据,因为浏览器只知道怎样解析http的行和头,再从头里获取响应体的字节长度和类型,按照你给的长度去截流&#…

极限激光雷达点云数据集

https://arxiv.org/pdf/2307.07607v5 ‎ - AirLab 他们的数据集里面有这么多极限场景 点云数据转换 他们的激光用的velodyne,录制的格式是【velodyne_msgs/VelodyneScan】 需要把【velodyne_msgs/VelodyneScan】转化成【sensor_msgs/PointCloud2】 我编译https://github.co…

信奥常考点:二叉树的构建(已知中序和 前序或后序 的情况下)

一、题目引入 这是来自CCF-GESP C七级认证 2024年9月的题目。 我们在此不解题,只把树画出来。 CCF-GESP 编程能力认证 C 七级 2024年9月份详细解析-CSDN博客 二、解题过程 我们可以根据先序遍历得出根节点是A,然后我们得到了A的左子树[B D](橙…

电容的概念和基本参数

电容基本概念 电容最简单的结构可由两个相互靠近的导体平面中间夹一层绝缘介质组成,当在电容两个极板间加上电压时,电容就会储存电荷,所以电容是一个充放电荷的电子元器件。电容量是电容储存电荷多少的一个量值,平板电容的电容量…

【js逆向专题】13.jsvmp补环境篇一

目录 一.了解jsvmp技术1. js虚拟机保护方案2.jsvmp实现原理3. 模拟jsvmp执行过程 二.环境检测1. 什么是环境检测2.案例讲解 三. 项目实战1. 案例11.逆向目标2. 项目分析1.补第一个referrer2. 调试技巧13. 调试技巧24. 补充sign5. 补 length6. 参数长短补充 3. 逆向结果 2. 案例…

高质量翻译在美国推广移动应用中的重要性

美国的移动应用市场是世界上竞争最激烈、利润最高的市场之一,为开发者提供了接触数百万潜在用户的机会。然而,进入这个市场需要的不仅仅是创新技术或令人信服的想法;它要求与目标受众进行有效地沟通和文化契合。在这个过程中,高质…

[Redis#17] 主从复制 | 拓扑结构 | 复制原理 | 数据同步 | psync

目录 主从模式 主从复制作用 建立主从复制 主节点信息 从节点信息 断开主从复制关系 主从拓扑结构 主从复制原理 1. 复制过程 2. 数据同步(PSYNC) 3. 三种复制方式 一、全量复制 二、部分复制 三、实时复制 四、主从复制模式存在的问题 在…

【Unity高级】如何动态调整物体透明度

本文介绍了如何设置及动态调整物体的透明度。 一、手动设置的方法 我们先来看下如何手动设置物体的透明度。 物体的透明与否是通过材质来设置的。只有我们把具有透明度的材质指给物体的渲染器(Render),物体就被设置成相应的透明度了。 看一…

相机动态/在线标定

图1 图2 基本原理 【原理1】平行线在射影变换后会交于一点。如图所示,A为相机光心,蓝色矩形框为归一化平面,O为平面中心。地面四条黄色直线为平行且等距的车道线。HI交其中两条车道线于H、I, 过G作HI的平行线GM交车道线于M。HI、GM在归一化平面上的投影分别为JK、PN,二者会…

通俗易懂理解:网络安全恶意节点的检测与哨兵节点的激活【论文+代码】

以下资料参考来自本文末尾的参考资料与代码: 在网络安全中,恶意节点检测和哨兵节点激活是确保网络稳定性、可靠性和安全性的关键技术,尤其是在分布式系统、物联网 (IoT)、区块链网络等环境中。下面将详细介绍这两个概念及其应用。 一、恶意…

python作业

1.D 2.B 3.D 4.C 5.B 6.D 7.D 8.B 9.D 10. A 11.D 12.C 13.√ 14.√ 16.√ 17.√ 18.None 19.([1,3],[2]) 20. 列表思维导图

Redis(上)

Redis 基础 什么是 Redis? Redis (REmote DIctionary Server)是一个基于 C 语言开发的开源 NoSQL 数据库(BSD 许可)。与传统数据库不同的是,Redis 的数据是保存在内存中的(内存数据库&#xf…

LabVIEW气缸摩擦力测试系统

基于LabVIEW的气缸摩擦力测试系统实现了气缸在不同工作状态下摩擦力的快速、准确测试。系统由硬件平台和软件两大部分组成,具有高自动化、精确测量和用户友好等特点,可广泛应用于精密机械和自动化领域。 ​ 项目背景: 气缸作为舵机关键部件…

CentOS7.X 安装RustDesk自建服务器实现远程桌面控制

参照文章CentOS安装RustDesk自建服务器中间总有几个位置出错,经实践做个记录防止遗忘 一 环境&工具准备 1.1 阿里云轻量服务器、Centos7系统、目前最高1.1.11版本rustdesk-server-linux-amd64.zip 1.2 阿里云轻量服务器–安全组–开放端口:TCP(21…

工具篇:IDEA VFS 损害启动报错 com.intellij.util.io.CorruptedException 处理

文章目录 前言一、 idea 的 VFS是什么?二、解决方式:2.1 退出Idea 然后重新打开:2.2 手动清除Idea 缓存,让Idea 重新建立缓存:2.2.1 打开 Invalidate Caches / Restart 对话框:2.2.2 勾选要清除的缓存: 总结…

2.linux中调度kettle

一.准备转换,等会在linux中用 1.添加excel输入组件,并添加对应的文件 2.添加列拆分为多行组件 3.添加文本文件输出组件 4.保存转换 二.linux安装java 1.把jdk-8u144-linux-x64.tar.gz上传到linux的/lx目录下 2. 解压jdk包,然后配置环境变量…

第四节、电机定角度转动【51单片机-TB6600驱动器-步进电机教程】

摘要:本节介绍用电机转动角度计算步骤,从而控制步进电机转角 一、 计算过程 1.1 驱动器接收一个脉冲后,步进电机转动一步,根据驱动器设置的细分值 计算一个脉冲对应电机转动的角度step_x s t e p x s t e p X … … ① step_{x…

如何终身使用 100% 免费的服务器

作为开发人员,我们需要在云服务上运行和托管后端。有许多 BaaS(后端即服务)可用,但它们有一些限制。 如果我说我已经免费使用基于 Linux 的服务器超过 4-5 年了,那会怎样?是的,你没听错。我正在使用这台安装了 Ubuntu 20、24 GB RAM、4 个 CPU 和 200 GB 存储空间的 Lin…

【计算机组成原理】期末复习题库

5.主存储器和CPU之间增加cache的目的是 。 A.解决CPU和主存之间的速度匹配问题 B.扩大主存储器的容量 C.扩大CPU中通用寄存器的数量 D.既扩大主存容量又扩大CPU中通用寄存器的数量 在计算机系统中,CPU的速…

SAP中Smartforms 翻译越南语

点击打印预览 打印预览中确实是越南语 转出成PDF 成了乱码 SPAD中查询LP01其实是简体中文 换成LP02试试 显示看上去正常的 SPAD中的LP02 SU3可以设置自己的默认打印参数 查查Smartforms中的字体样式 是宋体,看上去不用为了越南文刻意改字体样式成TIMES 看这篇文章…