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
看国内的情况,jdk 21的使用需要一段时间,目前 jdk 8 还是主流,除非是追求性能以及大型互联网公司会升级使用里面的功能。