SpringBoot3.2 +JDK21 + GraalVM

Spring Boot 3.2.0 available now

start.spring.io

All together now: Spring Boot 3.2, GraalVM native images, Java 21, and virtual threads with Project Loom,

ab -c 50 -n 10000http://localhost:8080/customers

机器码运行

GraalVM is an OpenJDk distribution that provides some extra utilities, including a utility called native-image that does ahead-of-time (AOT) compilation on your code.

spring AOT 是 Spring Boot 的一个新特性,允许将 Java 字节码编译成本地机器代码,在应用程序启动时提高执行效率和缩短启动时间。 Native 特性

由于直接打成二进制文件了,不能再使用jconsole、arthas之类的进行监控了

性能上由于不需要JVM预热,性能启动即巅峰。

AOT-processed已经相对成熟,效果可以说非常惊艳,解决了JVM启动慢、需要预热、内存占用大等问题。缺点是编译速度非常慢

开启虚拟线程

springboot3.2.x在jdk21开启虚拟线程 - 雨翔河

2023-09-19,jdk21正式发布,此版本是继jdk17后的长期支持版本(LTS),jdk21正式开始支持虚拟线程。 2023-11-23,springboot3.2.0正式发布,3.2版本正式支持虚拟线程。

2023-09-19,jdk21正式发布,此版本是继jdk17后的长期支持版本(LTS),jdk21正式开始支持虚拟线程。 2023-11-23,springboot3.2.0正式发布,3.2版本正式支持虚拟线程。

springboot3.2.0支持虚拟线程需要修改默认配置:

spring.threads.virtual.enabled=true