Variable d'environnement _JAVA_OPTIONS en Java

Mohd Mohtashim Nawaz 12 octobre 2023
  1. Types d’options Java
  2. Variable d’environnement _JAVA_OPTIONS en Java
  3. Variable d’environnement JAVA_TOOL_OPTIONS en Java
  4. Différence entre JAVA_TOOL_OPTIONS et JDK_JAVA_OPTIONS en Java
  5. Conclusion
Variable d'environnement _JAVA_OPTIONS en Java

Le _JAVA_OPTIONS est une variable d’environnement que vous pouvez utiliser pour passer les options Java à un processus JVM. Les options Java transmises sont traitées de la même manière que les arguments de ligne de commande par la machine virtuelle Java.

Dans cet article, nous allons comprendre les différents types d’options Java. Nous verrons également les _JAVA_OPTIONS et les JAVA_TOOL_OPTIONS, la différence entre les variables d’environnement JDK_JAVA_OPTIONS et JAVA_TOOL_OPTIONS.

Types d’options Java

Java définit trois types d’options différents. Java différencie les options en fonction de leur prise en charge dans différentes versions de Java et de leur utilisation.

Comprenons chacune de ces catégories d’options.

  1. Options standard - Java garantit que toutes les versions de Java prennent en charge les options standard. Java permet d’utiliser ces options pour des actions courantes telles que :
    1. Définition de la variable classpath.
    2. Vérification de la version de Java Runtime Environment (JRE).
    3. Basculer la sortie détaillée, etc.
  2. Options supplémentaires - Java ne garantit pas la prise en charge de ces types d’options dans toutes les versions. Ces options sont spécifiquement liées à JavaHotSpot Virtual Machine et peuvent changer.
    Java utilise ces options pour définir des variables spécifiques.
  3. Options avancées - Java fournit des options avancées pour les développeurs. Les développeurs peuvent utiliser ces options pour régler JVM, JRE, JIT et Garbage Collector.

Il existe quatre types différents d’options avancées. Ceux-ci sont donnés comme suit.

  1. Options d’exécution - Les développeurs peuvent utiliser ces options pour régler le temps d’exécution de JVM.
  2. Options du compilateur JIT - Les développeurs peuvent utiliser ces options pour contrôler le compilateur Java Just In Time (JIT).
  3. Options de maintenance - Java définit ces options pour le débogage et la collecte des informations système.
  4. Options de récupération de place - Les développeurs peuvent contrôler le mécanisme de récupération de place de Java à l’aide de ces options.

Variable d’environnement _JAVA_OPTIONS en Java

Java définit plusieurs variables d’environnement pour transmettre les options Java à la JVM lors de l’exécution d’un processus. Le _JAVA_OPTIONS est l’une de ces variables d’environnement.

Java traite les arguments que vous transmettez à l’aide de cette variable d’environnement de la même manière que les arguments de la ligne de commande.

En fait, selon la documentation de Java par Oracle, Java fournit ces options afin que les arguments de ligne de commande puissent être transmis aux programmes dans les environnements d’exécution où une ligne de commande directe n’est pas disponible.

Vous pouvez passer plusieurs arguments où chaque argument est séparé par un espace blanc. Si votre argument contient un espace blanc, vous devez le mettre entre guillemets.

Vous devez être prudent lorsque vous utilisez les _JAVA_OPTIONS car l’exécution du programme échouera si les arguments ne sont pas valides.

Voyons un exemple de transmission de l’option de la variable pour activer le traçage du journal.

export _JAVA_OPTIONS = '-Dsun.java2d.trace=log'

Variable d’environnement JAVA_TOOL_OPTIONS en Java

Le JAVA_TOOL_OPTIONS est le successeur du _JAVA_OPTIONS. La variable d’environnement _JAVA_OPTIONS n’est pas standardisée dans la spécification JVM. Par conséquent, différents fournisseurs ont leurs noms pour cette variable.

Cependant, la variable JAVA_TOOL_OPTIONS est normalisée dans la spécification JVM. Vous devriez toujours le préférer aux _JAVA_OPTIONS.

En effet, il gère mieux les problèmes d’espace blanc et les citations.

Différence entre JAVA_TOOL_OPTIONS et JDK_JAVA_OPTIONS en Java

Les JAVA_TOOL_OPTIONS et les JDK_JAVA_OPTIONS sont très similaires car Java permet d’utiliser les deux variables d’environnement pour transmettre les options Java à la JVM.

Comme nous l’avons déjà vu, toutes les règles et méthodes de passage d’arguments à l’aide de JAVA_TOOL_OPTIONS s’appliquent également à JDK_JAVA_OPTIONS.

Cependant, la principale différence entre ces variables est indiquée ci-dessous.

  1. Le lanceur Java lit les arguments passés à l’aide de JDK_JAVA_OPTIONS. Par conséquent, nous ne pouvons pas transmettre d’options qui provoquent la fermeture du lanceur et spécifient JAR ou la classe principale.

Par conséquent, nous pouvons utiliser cette variable pour transmettre les options utilisées lors de l’exécution au niveau du lanceur.

  1. Le compilateur Java et le JAR lisent également les JAVA_TOOL_OPTIONS. Par conséquent, nous pouvons utiliser cette variable pour définir des options pour régler l’exécution.

Par exemple, nous pouvons définir des drapeaux à l’aide de cette variable.

Conclusion

Cet article a traité des variables d’environnement Java JAVA_TOOL_OPTIONS, JDK_JAVA_OPTIONS et _JAVA_OPTIONS. Nous avons également discuté des différences entre l’utilisation de ces variables d’environnement.