本文介绍了如何结合使用JDK 21、Spring Boot 3.2.1、GraalVM Native Image和Virtual Threads技术来提升Java应用程序的启动速度和性能。文档提供了详细的环境准备、项目配置、打包和启动步骤,并对比了使用GraalVM Native Image打包的应用程序与传统jar包启动耗时的差异。通过这些技术,应用程序的启动时间得到了显著的缩短,从而提高了用户体验。
-
安装GraalVM 根据系统版本下载 https://www.graalvm.org/downloads/#
-
配置环境变量 将下载文件根据JAVA环境变量配置方法配置系统变量 配置好之后在cmd中执行 java -version 会输出以下内容
检查是否配置成功 native-image --version, 如果配置成功,会输出版本号
注意:
- 不要使用springboot3.2.2版本, 打包后异常如下 spring-projects/spring-data-commons#3025
需要使用3.2.1版本
maven依赖
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>3.2.1</version>
<relativePath/>
</parent>
<build>
<plugins>
<plugin>
<groupId>org.graalvm.buildtools</groupId>
<artifactId>native-maven-plugin</artifactId>
<version>0.10.0</version>
</plugin>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>${spring-boot.version}</version>
</plugin>
</plugins>
</build>
在项目根目录下执行
mvn clean native:compile -Pnative
这个exe就是打包好的文件
关闭虚拟线程/exe运行