Java 10: Prestatieverbetering met Class-Data Sharing (CDS)
JEP 310 – Application Class-Data Sharing
Bij opstarten laadt de JVM klassen in het geheugen. Bij meerdere JAR's met veel klassen ontstaat een duidelijke vertraging bij de eerste request. In serverloze architectuur kan zo'n vertraging de opstarttijd beïnvloeden, een kritieke operatie. Application Class-Data Sharing (AppCDS) helpt de opstarttijd te verminderen. Java heeft al een CDS-functie; met AppCDS kan Java 10 applicatieklassen in een gedeeld archief plaatsen. Dit verlaagt de opstarttijd en het geheugengebruik door gemeenschappelijke klassemetadata te delen over meerdere Java-processen.
Proces
AppCDS is een 3-stappenproces:
Maak een lijst van klassen te archiveren – Maak een lijst
welcome.lstvan een klasseGreeting.javainwelcome.jarmet de Java Launcher.
$ java -Xshare:off -XX:+UseAppCDS -XX:DumpLoadedClassList=welcome.lst -cp welcome.jar Greeting
Maak AppCDS-archief – Archiveer de lijst met klassen voor AppCDS.
$ java -Xshare:dump -XX:+UseAppCDS -XX:SharedClassListFile=welcome.lst -XX:SharedArchiveFile=welcome.jsa -cp welcome.jar
Gebruik AppCDS-archief – Gebruik het archief bij het starten met de Java Launcher.
$ java -Xshare:on -XX:+UseAppCDS -XX:SharedArchiveFile=welcome.jsa -cp welcome.jar Greeting
Java
- Java-operators beheersen: typen, syntax en praktische voorbeelden
- Java-commentaar: typen, gebruik en best practices
- Java Enhanced For-lus beheersen: syntax, voorbeelden en best practices
- Java Strings beheersen: aanmaken, methodes en best practices
- Java interfaces meesteren: concepten, implementatie en best practices
- Java anonieme inner classes meesteren: definitie, syntax en praktische voorbeelden
- Java Try-with-resources meesteren: automatische resource management uitgelegd
- Java Annotaties uitgelegd: typen, plaatsing en praktische voorbeelden
- Java Assertions: een praktische gids voor bugdetectie en codebetrouwbaarheid
- Java Vector begrijpen: Gebruik, Kenmerken en Vergelijking met ArrayList
- Java 10: Prestatieverbetering met Class-Data Sharing (CDS)