Spring3.2 版本
SpringBoot3.2 + jdk21 + GraalVM
机器码运行
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启动慢、需要预热、内存占用大等问题。缺点是编译速度非常慢
开启虚拟线程
2023-09-19,jdk21正式发布,此版本是继jdk17后的长期支持版本(LTS),jdk21正式开始支持虚拟线程。 2023-11-23,springboot3.2.0正式发布,3.2版本正式支持虚拟线程。
springboot3.2.0支持虚拟线程需要修改默认配置:
当启用虚拟线程时,包括但不限于Tomcat和Jetty将使用虚拟线程来处理请求。这意味着处理web请求将在虚拟线程上运行。
spring.threads.virtual.enabled
这个值默认是false,可以看源码里spring-configuration-metadata.json对这个值的描述信息:Loading...