Java 10 - Intercambio de datos de clase
JEP 310 − Intercambio de datos de clase de aplicación
Cuando se inicia JVM, carga las clases en la memoria como paso preliminar. En caso de que haya varios frascos con varias clases, aparece un retraso evidente para la primera solicitud. En la arquitectura sin servidor, dicho retraso puede retrasar el tiempo de arranque, que es una operación crítica en dicha arquitectura. El concepto de uso compartido de datos de clase de aplicación ayuda a reducir el tiempo de inicio de una aplicación. Java tiene una función CDS (intercambio de datos de clase) existente. Con el uso compartido de datos de clases de aplicaciones, Java 10 permite colocar clases de aplicaciones en un archivo compartido. Esto reduce el inicio de la aplicación y el espacio físico al compartir metadatos de una clase común entre múltiples procesos Java.
Proceso
El intercambio de datos de la clase de aplicación es un proceso de 3 pasos.
-
Crear una lista de Clases para archivar − Cree una lista welcome.lst de una clase Greeting.java que se encuentra en welcome.jar usando Java Launcher.
$java -Xshare:off -XX:+UseAppCDS -XX:DumpLoadedClassList=welcome.lst -cp welcome.jar Greeting
-
Crear archivo AppCDS − Archivar una lista de clases que se utilizarán para compartir datos de clases de aplicaciones.
$java -Xshare:dump -XX:+UseAppCDS -XX:SharedClassListFile=welcome.lst -XX:SharedArchiveFile=welcome.jsa -cp welcome.jar
-
Usar el archivo AppCDS − Use el archivo AppCDS mientras usa el iniciador de Java.
$java -Xshare:on -XX:+UseAppCDS -XX:SharedArchiveFile=welcome.jsa -cp welcome.jar Greeting
Java