クラスデータの共有
クラスデータ共有 (CDS) は、Java アプリケーションの起動時間とメモリフットプリントの削減に役立つ JVM 機能 [Oracle] です。
Java 24 では、CDS は JEP 483 (英語) を介して AOT キャッシュに引き継がれます。Spring Boot は CDS と AOT キャッシュの両方をサポートしており、使用している JVM バージョン (Java 24+) で後者が使用可能な場合は後者を使用することをお勧めします。
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 キャッシュ
AOT キャッシュを使用するには、まず抽出された形式でアプリケーションに対してトレーニング実行を実行する必要があります。
$ 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
ファイルは不要になったため、安全に削除できます。
キャッシュファイルを使用するには、アプリケーションの起動時に追加のパラメーターを追加する必要があります。
$ java -XX:AOTCache=app.aot -jar my-app.jar