ここ -Xssは「スレッドスタックサイズの設定」に使われていると言っていますが、それは正確にはどういう意味ですか?誰かが私がこれを理解するのを手伝ってくれる?
Javaアプリケーションの各スレッドには、独自の stack があります。スタックは、戻りアドレス、関数/メソッド呼び出しの引数などを保持するために使用されます。したがって、スレッドが再帰的アルゴリズムを介して大きな構造体を処理する傾向がある場合、すべての戻りアドレスなどに大きなスタックが必要になる場合があります。 Sun JVMでは、そのパラメータを介してそのサイズを設定できます。
それは確かにJVMのスタックサイズを設定します。
あなたはこれら二つの状況のどちらかでそれに触れるべきです:
後者は通常あなたのXssが大きすぎるように設定されている場合に起こります - それならあなたはそれをバランスさせる必要があります(テスト中!)
各スレッドには、ローカル変数と内部値に使用されるスタックがあります。スタックサイズは、あなたの呼び出しがどれだけ深くできるかを制限します。一般的にこれはあなたが変更する必要があるものではありません。
私が誤解していなければ、これはJVMにStackOverflowErrorを発行する前にどれだけの連続呼び出しを受け付けるかを指示するものです。あなたが一般的に変えたいものではありません。