班级数据共享

类数据共享 (CDS) 是一项 JVM 功能,可以帮助减少 Java 应用程序的启动时间和内存占用。spring-doc.cadn.net.cn

在 Java 24 中,CDS 由 JEP 483 的 AOT 缓存继承。 Spring Boot 同时支持 CDS 和 AOT 缓存,如果您正在使用的 JVM 版本 (Java 24+) 中可用,建议您使用后者。spring-doc.cadn.net.cn

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 的更多详细信息,请参阅 CDS作指南Spring Framework 参考文档

AOT 缓存

若要使用 AOT 缓存,应首先以提取的形式对应用程序执行训练运行:spring-doc.cadn.net.cn

$ java -Djarmode=tools -jar my-app.jar extract --destination application
$ cd application
$ java -XX:AOTMode=record -XX:AOTConfiguration=app.aotconf -Dspring.context.exit=onRefresh -jar my-app.jar
$ java -XX:AOTMode=create -XX:AOTConfiguration=app.aotconf -XX:AOTCache=app.aot -jar my-app.jar

这会创建一个app.aot只要应用程序不更新,就可以重复使用的缓存文件。 中间体app.aotconf不再需要文件,可以安全地删除。spring-doc.cadn.net.cn

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

$ java -XX:AOTCache=app.aot -jar my-app.jar