AOT 缓存

AOT缓存是JVM的一个功能,可以帮助减少Java应用程序的启动时间和内存占用。spring-doc.cadn.net.cn

如果你使用的是 Java < 24,你应该阅读有关 CDS 的部分。 CDS 是 AOT 缓存的前身,但工作方式类似。spring-doc.cadn.net.cn

Spring Boot 支持 CDS 和 AOT 缓存,如果你使用的 JVM 版本(Java 24 或更高版本)支持 AOT 缓存,建议你使用 AOT 缓存。spring-doc.cadn.net.cn

AOT 缓存

如果你使用的是 Java < 24,AOT 缓存不可用。 你必须改用 CDS。

要使用AOT缓存功能,您首先应在提取形式下对您的应用程序进行一次训练运行:spring-doc.cadn.net.cn

$ java -Djarmode=tools -jar my-app.jar extract --destination application
$ cd application
$ java -XX:AOTCacheOutput=app.aot -Dspring.context.exit=onRefresh -jar my-app.jar

这会创建一个 app.aot 缓存文件,只要应用程序未更新且使用相同的 Java 版本,就可以重复使用该文件。spring-doc.cadn.net.cn

要使用缓存文件,您需要在启动应用程序时添加一个额外的参数:spring-doc.cadn.net.cn

$ java -XX:AOTCache=app.aot -jar my-app.jar
你必须使用提取后的应用程序形式的缓存文件,否则将无效。

CDS

如果你使用的是 Java 24 或更高版本,请改用 AOT 缓存而不是 CDS。

要使用 CDS,您首先应该以提取形式对您的应用程序执行一次训练运行:spring-doc.cadn.net.cn

$ java -Djarmode=tools -jar my-app.jar extract --destination application
$ cd application
$ java -XX:ArchiveClassesAtExit=application.jsa -Dspring.context.exit=onRefresh -jar my-app.jar

这将创建一个 application.jsa 归档文件,只要应用程序未更新,就可以重复使用。spring-doc.cadn.net.cn

要使用归档文件,您需要在启动应用程序时添加一个额外的参数:spring-doc.cadn.net.cn

$ java -XX:SharedArchiveFile=application.jsa -jar my-app.jar
你必须使用提取后的应用程序形式的缓存文件,否则将无效。
有关CDS的更多详细信息,请参阅类数据共享文档