AOT 缓存
AOT 缓存是 JVM 特性,有助于减少 Java 应用程序的启动时间和内存占用。
如果您使用 Java < 24,则应阅读有关 CDS 的章节。CDS 是 AOT 缓存的 предше者,但工作方式类似。
Spring Boot 同时支持 CDS 和 AOT 缓存。如果您的 JVM 版本(Java 24 或更高版本)支持 AOT 缓存,建议您使用 AOT 缓存。
AOT 缓存
| 如果您使用 Java < 24,AOT 缓存不可用。您必须改用 CDS。 |
要使用 AOT 缓存功能,您应首先在提取形式的应用程序上执行一次训练运行。
$ 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 版本,该文件就可以重复使用。
要使用缓存文件,您需要在启动应用程序时添加一个额外参数。
$ java -XX:AOTCache=app.aot -jar my-app.jar
| 您必须将缓存文件与提取形式的应用程序一起使用,否则它将不起作用。 |
CDS
| 如果您使用 Java 24 或更高版本,请改用 AOT 缓存而不是 CDS。 |
要使用 CDS,您应首先在提取形式的应用程序上执行一次训练运行。
$ 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` 存档文件,只要应用程序未更新,该文件就可以重复使用。
要使用存档文件,您需要在启动应用程序时添加一个额外参数。
$ java -XX:SharedArchiveFile=application.jsa -jar my-app.jar
| 您必须将缓存文件与提取形式的应用程序一起使用,否则它将不起作用。 |
| 有关 CDS 的更多详细信息,请参阅 JDK 的类数据共享文档。 |