JVM 的提前处理(AOT)

使用 AOT 生成的初始化代码运行应用有助于提升启动速度。 首先需确保构建的 jar 包包含 AOT 生成的代码。

CDS 与 AOT 可结合使用,进一步提升启动速度。

Maven 用户需使用 -Pnative 激活 native profile 进行构建:

$ mvn -Pnative package

Gradle 用户需确保构建中包含 org.springframework.boot.aot 插件。

构建完成后,运行 jar 时需设置 spring.aot.enabled 系统属性为 true,例如:

$ java -Dspring.aot.enabled=true -jar myapplication.jar

........ 启动 AOT 处理后的 MyApplication ...

请注意,使用提前处理存在一定限制:

  • 类路径在构建时已固定且完整定义

  • 应用中定义的 bean 运行时不可变,意味着:

如需了解更多提前处理内容,请参见 理解 Spring 提前处理(AOT)