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 运行时不可变,意味着:
-
依赖 bean 是否创建而变化的属性不被支持(如
@ConditionalOnProperty
及.enabled
属性)。
如需了解更多提前处理内容,请参见 理解 Spring 提前处理(AOT)。