JVM option-Xss-Que fait-il exactement?


, Il dit ici qu'-Xss est utilisé pour définir la taille de la pile", ce qui veut dire exactement? Quelqu'un pourrait-il m'aider à comprendre cela?

Author: Community, 2011-02-11

4 answers

Chaque thread dans une application Java a sa propre pile . La pile est utilisée pour contenir des adresses de retour, des arguments d'appel de fonction/méthode, etc. Donc, si un thread a tendance à traiter de grandes structures via des algorithmes récursifs, il peut avoir besoin d'une grande pile pour toutes ces adresses de retour et autres. Avec la JVM Sun, vous pouvez définir cette taille via ce paramètre.

 225
Author: T.J. Crowder, 2011-02-11 10:25:35

Il définit en effet la taille de la pile sur une JVM.

Vous devez le toucher dans l'une de ces deux situations:

  • StackOverflowError (la taille de la pile est supérieure à la limite), augmentez la valeur
  • OutOfMemoryError: impossible de créer un nouveau thread natif (trop de threads, chaque thread a une grande pile), diminuez-le.

Le dernier vient généralement lorsque votre Xss est trop grand, alors vous devez équilibrer (tests!)

 131
Author: Adam Adamaszek, 2013-08-06 13:11:14

Chaque thread a une pile utilisée pour les variables locales et les valeurs internes. La taille de la pile limite la profondeur de vos appels. En général, ce n'est pas quelque chose que vous devez modifier.

 4
Author: Peter Lawrey, 2011-02-11 10:24:55

Si je ne me trompe pas, c'est ce qui indique à la JVM combien d'appels successifs elle acceptera avant d'émettre une StackOverflowError. Pas quelque chose que vous souhaitez changer en général.

 3
Author: Kellindil, 2014-05-07 09:14:14