Java Virtual Machine : machine virtuelle Java.
Exécuter du code compilé Java (bytecode).
Une JVM interprête le bytecode qu'elle lit et exécute les opérations machine correspondante. Elle dispose également d'un GC.
Une JVM est incluse dans chaque plate-forme Java (J2SE, J2ME, etc.).
Des JVMs sont implémentées par :
Release | 1 | Commentaire | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Fix | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | ||||
Domaine | Technologie | Maintenance | 2 | 0 | 1 | ||||||||
EVM | -Xtm | D | |||||||||||
-Xt | D | ||||||||||||
JIT | Non | Oui | 2ᵉ génération disposant d'un compilateur "à la volée" (Just-In-Time compiler) capable de compiler en mémoire du bytecode Java de manière à de pas avoir à le ré-interpréter la prochaine fois (dans une bouche par exemple). | ||||||||||
HotSpot JVM | Client | Non | Oui | 3ᵉ génération capable d'identifier statistiquement des "points chauds" (hot spots) de l'application auquels il est plus intéressant d'appliquer la technique JIT (au lieu de perdre du temps à appliquer le JIT sur des portions "froides"). | |||||||||
Serveur | Non | Oui | |||||||||||
JVM | -server | Oui | |||||||||||
Tas | Taille maximum | -mx | Multiple de 1024, au moins 1 Mo, 2 Mo par défaut, par ex. : -<strong>Xms</strong>6291456<br>
-<strong>Xms</strong>6144<strong>k</strong><br> <strong>-Xms</strong>6<strong>m</strong> ...
|
||||||||||
Taille initiale | -ms | Multiple de 1024, au moins 2 Mo, 64 Mo par défaut. Par ex.: -<strong>Xms</strong>6291456<br>
-<strong>Xms</strong>6144<strong>k</strong><br> <strong>-Xms</strong>6<strong>m</strong> ...
|
|||||||||||
GC | -verbose:gc | Oui | |||||||||||
-XXloggc=filename | Non | Oui | |||||||||||
-XX:+PrintGCDetails | Non | Oui | |||||||||||
-XX:+PrintGCTimeStamps | Non | Oui | |||||||||||
-XX:+PrintTenuringDistribution | Oui | ||||||||||||
HotSpot | -XX:NewSize | Oui | |||||||||||
-XX:MaxNewSize | Oui | ||||||||||||
-XX:SurvivorRatio | Oui | ||||||||||||
-XX:MaxTenuringThreshold=y | Non | Oui | |||||||||||
-XX:TargetSurvivorRatio=z | Non | Oui | |||||||||||
Parallel GC | -XX:+UseParNewGC | Non | Oui | ||||||||||
-XX:ParallelGCThreads=n | Non | Oui | |||||||||||
-XX:+UseParallelGC | Non | Oui | |||||||||||
Concurrent GC | -XX:+UseConcMarkSweepGC | Non | Oui | ||||||||||
-XX:CMSInitiatingOccupancyFraction=x | Non | Oui | |||||||||||
Invocation dynamique | invokedynamic |