Programmation Java/Paramétrer la JVM

Un livre de Wikilivres.
Aller à : navigation, rechercher


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 :

  1. au moment du lancement du programme Java (et de la JVM) ;
  2. 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 | modifier le wikicode]

Paramètres du proxy[modifier | modifier le wikicode]

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émoire[modifier | modifier le wikicode]

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 JVM[modifier | modifier le wikicode]

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"

Références[modifier | modifier le wikicode]

  1. (anglais) http://docs.oracle.com/javase/6/docs/api/java/lang/reflect/Proxy.html