Java 10 - Partage de données de classe
JEP 310 - Partage de données de classe d'application
Lorsque JVM démarre, il charge les classes en mémoire comme étape préliminaire. Dans le cas où il y a plusieurs pots ayant plusieurs classes, un décalage évident apparaît pour la première demande. Dans une architecture sans serveur, un tel décalage peut retarder le temps de démarrage qui est une opération critique dans une telle architecture. Le concept de partage de données de classe d'application aide à réduire le temps de démarrage d'une application. Java a une fonctionnalité CDS (Class-Data Sharing) existante. Avec le partage de données de classe d'application, Java 10 permet de mettre des classes d'application dans une archive partagée. Cela réduit le démarrage et l'empreinte de l'application en partageant une méta-donnée de classe commune sur plusieurs processus Java.
Processus
Le partage de données de classe d'application est un processus en 3 étapes.
-
Créer une liste de cours à archiver − Créer une liste welcome.lst d'une classe Greeting.java se trouvant dans welcome.jar à l'aide de Java Launcher.
$java -Xshare:off -XX:+UseAppCDS -XX:DumpLoadedClassList=welcome.lst -cp welcome.jar Greeting
-
Créer une archive AppCDS − Archiver une liste de classes à utiliser pour le partage de données de classe Application.
$java -Xshare:dump -XX:+UseAppCDS -XX:SharedClassListFile=welcome.lst -XX:SharedArchiveFile=welcome.jsa -cp welcome.jar
-
Utiliser l'archive AppCDS − Utiliser l'archive AppCDS lors de l'utilisation du lanceur Java.
$java -Xshare:on -XX:+UseAppCDS -XX:SharedArchiveFile=welcome.jsa -cp welcome.jar Greeting
Java