Accès aux arguments de la VM dans une application Java
Problème :
Comment pouvez-vous déterminer si une option transmise à la machine virtuelle Java (JVM) est explicitement définie ou a sa valeur par défaut ? Dans ce cas, l’objectif est de créer un thread avec une taille de pile native plus élevée que celle par défaut. Cependant, si l'utilisateur spécifie l'option -Xss, la taille de pile par défaut doit être appliquée.
Solution :
Pour récupérer des informations sur les arguments de la VM dans votre application Java, vous pouvez utiliser la méthode System.getProperty(). Cette méthode vous permet d'accéder aux propriétés du système, y compris celles définies comme arguments lors du démarrage de la JVM.
Voici comment implémenter cela en utilisant -Dname=value :
Spécifiez le l'argument de la VM souhaité lors du démarrage comme suit :
java -Dstack.size=1024k ...
Dans votre code Java, récupérez cet argument à l'aide du Méthode System.getProperty() :
String stackSize = System.getProperty("stack.size");
Vous pouvez ensuite utiliser la valeur récupérée de stackSize pour déterminer si l'argument -Xss a été explicitement défini ou non. S'il est défini, créez des threads avec la taille de pile spécifiée ; sinon, utilisez la taille de pile par défaut.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!