它确实设置了JVM的堆栈大小。
你应该在以下两种情况下更改它:
通常出现在你的Xss设置过大时会出现后一种情况-这时需要平衡它(测试!)
每个线程都有一个栈,用于存储本地变量和内部值。栈的大小限制了您调用的深度。通常情况下,这不是您需要更改的内容。
除了已经提到的内容,我想加入我的一些意见:我们可以编写一个简单的演示来展示设置Xss的效果。
一般来说,它控制为每个线程分配的堆栈大小。
public static void main(String[] args) {
try{
recur();
}catch (StackOverflowError e){
System.out.println(depth);
}
}
static int depth = 1;
public static void recur(){
depth++;
recur();
}
depth
(调用层次结构)随传递的Xss
设置而增加。在我的本地机器上,java -Xss1m com.eugene.Main
的输出为21638
,而java -Xss2m com.eugene.Main
的输出为48325
。