jdk 21发布的意义

news2024/10/7 14:32:51

jdk 21 最大的功能是虚拟线程,是一种绿色线程(具体可以看周志明老师的书籍《深入理解java虚拟机》),目前 jvm 与操作系统的线程是一一对应的关系。

使用了虚拟线程可以减少资源消耗,减少操作系统上下文切换,不然的话多线程执行时操作系统会频繁在用户态与内核态之间切换,在多线程应用中具有重大意义。

之前的 openjdk loom 项目转正,成为 openjdk 的一部分。

虚拟线程介绍

https://zhuanlan.zhihu.com/p/648421339

jdk 21 oracle 官方介绍

https://www.oracle.com/java/technologies/downloads/#java21

lts 支持到 2026年9月,除了 jdk 21,还有 3个lts版本,分别是 jdk 8、jdk 11、jdk17。

https://www.oracle.com/java/technologies/downloads/#java8

Java SE subscribers will receive JDK 8 updates until at least December 2030.

https://www.oracle.com/java/technologies/downloads/#java11

Java SE subscribers will receive JDK 11 updates until at least September 2026.

https://www.oracle.com/java/technologies/downloads/#java17

JDK 17 will receive updates under these terms, until September 2024, a year after the release of the next LTS.

jdk 8 的 lts 时间最长,到 2030年12月。

但是考虑到许可证的问题,一般部署jdk都使用的是 openjdk。

https://jdk.java.net/java-se-ri/21

https://spring.io/blog/2023/06/15/spring-framework-6-1-m1-released

https://spring.io/blog/2023/07/13/spring-framework-6-1-m2-released

https://spring.io/blog/2023/07/19/spring-framework-6-1-m3-released

https://spring.io/blog/2023/08/17/spring-framework-6-1-m4-released

https://spring.io/blog/2023/09/14/spring-framework-6-1-m5-released

https://github.com/spring-projects/spring-framework/wiki/What%27s-New-in-Spring-Framework-6.x

现在 spring 官方一直在发布 milestone 版本,过了不久就会发布正式的 spring 6.1 版本相关的组件。spring boot 3.2  开始支持 spring 6.1 相关组件。

https://spring.io/blog/2023/09/09/all-together-now-spring-boot-3-2-graalvm-native-images-java-21-and-virtual

版本之间的对应关系
openjdk最小版本spring 最小版本spring boot 最小版本
216.13.2

看国内的情况,jdk 21的使用需要一段时间,目前 jdk 8 还是主流,目前因为开源组件安全漏洞扫描需要升级到 spring boot 3.x,但是spring官方使用了jdk17进行代码编译,所以使用jdk 版本最低是 17,这就会面临一个代码修改的问题,例如代码中引用了 servlet相关api。

对于升级问题,除非是追求性能以及大型互联网公司会升级使用里面的功能,升级过程不可避免会有代码修改以及其他的问题,对于这些问题一般是程序能正常运行代码能不动就不动。

如果是新项目可以直接使用 openjdk 21。

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

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

相关文章

AIGC绘本——海马搬家来喽

随着ChatGPT的快速发展,人工智能领域也发生了翻天覆地的变化。今天,我们迎合科技潮流,利用AIGC的强大能力,可以创作很多精彩的作品,比如这样一本名为《海马搬家》的绘本(注:此绘本根据同名儿童故…

strtok()函数的使用方法

strtok() 函数用于将字符串分割成子字符串&#xff08;标记&#xff09;。它在 C 语言中非常常用&#xff0c;可以通过指定分隔符来拆分原始字符串&#xff0c;并依次返回每个子字符串。 以下是 strtok() 函数的使用方法&#xff1a; #include <stdio.h> #include <…

RK3568平台开发系列讲解(驱动篇)RK3568 I2C总线介绍

🚀返回专栏总目录 文章目录 一、I2C 简介1.1、起始位1.2、停止位1.3、数据传输1.4、应答信号1.5、I2C 写时序1.6、I2C 读时序1.7、I2C 多字节读写时序二、RK3568 I2C 总线介绍沉淀、分享、成长,让自己和他人都能有所收获!😄 📢本篇我们将讲解RK3568 I2C总线特性。 一、…

【中文输入时没有了提示选项】

打开电脑时发现&#xff0c;输入中文时&#xff0c;下方一直没有出现提示文字的选项&#xff0c;可能是电脑自动更新兼容的问题&#xff0c;上网查询了解决方案&#xff0c;按照下方步骤可以得到解决&#xff1a; step1&#xff1a;window键i //打开设置窗口 step2&#xf…

软件项目测试用例评审

软件项目测试用例评审是确保测试计划的一部分&#xff08;即测试用例&#xff09;满足项目质量和要求的关键步骤之一。以下是一个通用的软件项目测试用例评审流程&#xff0c;希望对大家有所帮助。北京木奇移动技术有限公司&#xff0c;专业的软件外包开发公司&#xff0c;欢迎…

UbuntuToGo | Ubuntu 22.04.6 VMware UEFI启动 VHD虚拟磁盘

Win下新建固定大小VHD磁盘 磁盘管理器 随便选一个磁盘 点击操作 创建固定大小VHD(多等一会儿 固定大小比较慢) VMware 中新建虚拟机 自定义 在选择磁盘之前全部默认&#xff0c;选择磁盘选择 使用现有虚拟磁盘 现有磁盘文件选择刚才新建的VHD文件(一定要是固定大小的VHD)…

在DFMEA实施过程中,如何区分预防措施和探测措施?

在FMEA分析中&#xff0c;我们常常需要在分析原因之后采取相应的改善措施&#xff0c;一般现行的控制方法有“预防”和“探测”两大类&#xff0c;但是很多情况下我们无法掌握两者的区别&#xff0c;在这里我们明确一下。 FMEA手册中对预防和探测是这样定义的&#xff1a; 预…

计网第五章(运输层)(八)(TCP的连接释放)

目录 一、基本概述 二、具体实现 三、经典问题之为什么客户进程不直接进入关闭状态&#xff1f; 四、保活计时器 一、基本概述 上篇博客&#xff08; 计网第五章&#xff08;运输层&#xff09;&#xff08;七&#xff09;&#xff08;TCP的连接建立&#xff09;&#xff…

LeetCode 面试题 05.01. 插入

文章目录 一、题目二、Java 题解 一、题目 给定两个整型数字 N 与 M&#xff0c;以及表示比特位置的 i 与 j&#xff08;i < j&#xff0c;且从 0 位开始计算&#xff09;。 编写一种方法&#xff0c;使 M 对应的二进制数字插入 N 对应的二进制数字的第 i ~ j 位区域&#x…

ID保持的人像生成

AIGC真实人像写真&#xff0c;也即输入一些图片&#xff0c;生成图片里对应人物在不同场景和风格下的图片。妙鸭相机作为AIGC领域一款成功的收费产品为大家展示了如何使用AIGC技术只需要少量的人脸图片建模&#xff0c;即可快速提供真/像/美的个人写真&#xff0c;在极短的时间…

MySQL报错:this is incompatible with sql_mode=only_full_group_by 解决方法

文章目录 项目场景&#xff1a;原因分析及解决方案&#xff1a;总结&#xff1a; 项目场景&#xff1a; 提示&#xff1a;这里简述项目相关背景&#xff1a; which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_modeonly_f…

一般做家庭用电的考什么样式的电工证?应急管理厅低压电工

一般做家庭用电的考什么样式的电工证&#xff1f;应急管理厅低压电工 就是普通家庭&#xff0c;企事业单位的用电安装维修的那种&#xff0c;是考什么电工证&#xff0c;很多人从事这个行业&#xff0c;不知道该考哪一种类型的电工证书&#xff0c;跑去问机构考哪一种证书。其…

大数据 Hive 数据仓库介绍

目录 一、​​数据仓库概念 二、场景案例&#xff1a;数据仓库为何而来&#xff1f; 2.1 操作型记录的保存 2.2 分析型决策的制定 2.3 OLTP 环境开展分析可行吗&#xff1f; 2.4 数据仓库的构建 三、数据仓库主要特征 3.1 面向主题性&#xff08;Subject-Orient…

nokov设置教程 2023.09

1软件安装 设置 屏幕分辨力 缩放问题 软件设置 以管理员身份运行 高DPI缩放行为 系统 软件界面 1 设置路径 全部数据存放于该文件夹下 右下角文件按钮 右键 选择目录 设置完后程序上面显示路径 2 电脑设置ip地址 以太网属性 版本4 查看以太网状态 是否千兆网 网速 …

Untiy UDP局域网 异步发送图片

同步画面有问题&#xff0c;传图片吧 using System.Text; using System.Net.Sockets; using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.Events; using System.Net; using System; using System.Threading.Tasks; using Sy…

搭建ELK+Filebead+zookeeper+kafka实验(详细版)

一、ELKFilebeadzookeeperkafka架构 第一层&#xff1a;数据采集层&#xff08;Filebeat&#xff09; 数据采集层位于最左边的业务服务集群上&#xff0c;在每个业务服务器上面安装了filebead做日志收集&#xff0c;然后把采集到的原始日志发送到kafkazookeeper集群上。 第二…

【常用代码15】文字单词超出强制分割换行,word-break: break-all;和word-wrap: break-word;的区别

项目场景&#xff1a; 提示&#xff1a;这里简述项目相关背景&#xff1a; 文件上传后显示文件名&#xff0c;名称过长&#xff0c;超出div 有些文件名如下图 问题描述 提示&#xff1a;这里描述项目中遇到的问题&#xff1a; 一般图片上传&#xff0c;要展示文件名&#x…

精品Python数字藏品购物商城爬虫-可视化大屏

《[含文档PPT源码等]精品基于Python实现的数字藏品爬虫》该项目含有源码、文档、PPT、配套开发软件、软件安装教程、项目发布教程等 软件开发环境及开发工具&#xff1a; 开发语言&#xff1a;python 使用框架&#xff1a;Django 前端技术&#xff1a;JavaScript、VUE.js&a…

pytest简明教程

1. 简介 pytest是一款基于Python的测试框架。与Python自带的unittest相比&#xff0c;pytes语法更加简洁&#xff0c;断言更加强大&#xff0c;并且在自动测试以及插件生态上比unittest都要更加强大。 1.1. 安装pytest pip install pytest1.2. pytest命名规则 pytest默认会…

基于Java+SpringBoot+Vue物流管理小程序系统的设计与实现 前后端分离【Java毕业设计·文档报告·代码讲解·安装调试】

&#x1f34a;作者&#xff1a;计算机编程-吉哥 &#x1f34a;简介&#xff1a;专业从事JavaWeb程序开发&#xff0c;微信小程序开发&#xff0c;定制化项目、 源码、代码讲解、文档撰写、ppt制作。做自己喜欢的事&#xff0c;生活就是快乐的。 &#x1f34a;心愿&#xff1a;点…