Programmation Java/Paramétrer la JVM
La machine virtuelle Java désigne l'environnement d'exécution d'un programme Java. Il est possible d'adapter cet environnement suivant les besoins : utilisation de la mémoire, configuration du réseau, etc.
Il existe deux possibilités de paramétrage de cet environnement :
- au moment du lancement du programme Java (et de la JVM) ;
- au cours de l'exécution d'un programme Java.
L'action de paramétrer la machine virtuelle représente le changement d'état d'un paramètre système. Dans un premier temps, les paramètres les plus utilisés sont listés. Ensuite, les deux possibilités de paramétrage sont exposées.
Liste des paramètres de la machine virtuelle Java (JVM)Modifier
Paramètres du proxyModifier
Nom du paramètre[1] | Description |
---|---|
http.proxyHost | le nom du serveur proxy |
http.proxyPort | le port du proxy (valeur par défaut:80) |
http.nonProxyHosts | liste des hôtes qui doivent être accédés directement, sans passer par le proxy. Il s'agît d'une liste d'expressions régulières séparées par '|'. Tous les hôtes correspondant à l'une de ces expressions seront accédés par une connexion directe sans passer par le proxy |
http.proxyUser | le nom d'utilisateur utilisé pour le proxy |
http.proxyPassword | le mot de passe utilisateur utilisé pour le proxy |
Paramètres de la mémoireModifier
Le paramétrage de la mémoire se fait au lancement d'un programme Java grâce aux arguments suivants :
Nom du paramètre | Description |
---|---|
-Xms | allocation mémoire initiale |
-Xmx | allocation mémoire maximum |
-Xmn | allocation mémoire pour les programmes fils (à confirmer?) |
Exemple pour lancer un programme Java en allouant 256 Mo :
java -Xms256M -Xmx256M monProgrammeJava
Modification d'un paramètre de la JVMModifier
Au lancement d'un programme Java, il est possible de positionner un ou plusieurs paramètres système de la manière suivante :
$ java -D<nom du paramètre1>=<valeur du paramètre1> -D<nom du paramètre2>=<valeur du paramètre2> monProgrammeJava
Exemple pour positionner le proxy à utiliser :
$ java -Dhttp.proxyHost=monproxy -Dhttp.proxyPort=3128 monProgrammeJava
- dans cet exemple, le proxy utilisé sera l'hôte "monproxy" sur le port 3128
Au sein d'un programme Java, il est possible de changer l'état d'un paramètre système de la manière suivante :
System.getProperties().put("http.proxyHost", "monproxy");
System.getProperties().put("http.proxyPort", "3128");
System.getProperties().put("http.proxyUser", "toto");
System.getProperties().put("http.proxyPassword", "totoisback");
- dans cet exemple, le proxy utilisé sera l'hôte "monproxy" sur le port 3128 en utilisant comme utilisateur "toto"