Il y a 3 principaux éléments qui peuvent impacter le temps :
- Le chargement des classes.
La première fois que tu utilises une classe elle doit être chargé par le classloader.
- Le Garbage Collector.
Le GC libère la mémoire par bloc, en bloquant temporairement le programme.
- La compilation HotSpot.
La machine virtuelle détecte les parties "chaudes" (les plus utilisés) afin de les recompiler en natif avec plusieurs optimisations.
Tu peux surveiller tout cela avec les options suivantes de la JVM (pour la JVM de Sun) :
-XX:+TraceClassLoading -XX:+PrintGC -XX:+PrintCompilation
Enfin, il faut noter que la JVM server (option -server) offre généralement une compilation plus poussé que la JVM client (option -client).
Par défaut le choix entre client/serveur dépend de la version de Java et du système hôte...
a++
Partager