跳到主要内容
版本:3.5.10

Class Data Sharing

QWen Max 中英对照 Class Data Sharing

Class Data Sharing (CDS) 是一项 JVM 特性,有助于减少 Java 应用程序的启动时间和内存占用。

在 Java 24 中,CDS 被 AOT Cache 取代,参见 JEP 483。Spring Boot 同时支持 CDS 和 AOT Cache,如果所使用的 JVM 版本(Java 24+)支持后者,建议使用 AOT Cache。

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

AOT Cache

要使用 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 -XX:AOTCache=app.aot -jar my-app.jar