Programmation Java/Paramétrer la JVM

Un livre de Wikibooks.

Programmation
Java
Logo java.JPG
Sommaire
IHM avec SWING
Annexes
Modifier ce modèle

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 2 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.

Sections

[modifier] Liste des paramètres de la machine virtuelle Java (JVM)

[modifier] Paramètres du proxy

src: java SE 6 (en)

Nom du paramètre 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 accedé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

[modifier] Paramètres de la mémoire

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

[modifier] Modification d'un paramètre de la JVM

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"



Cet article fait partie du livre Programmation