-Xss / -XX:ThreadStackSize |
---|
指定线程最大栈空间 |
jdk1.4里默认的栈大小是256KB |
jdk1.5里默认的栈大小为1M |
这个参数直接会影响创建线程数量,值越小创建线程数越多; (估算jvm进程的最大线程数) |
这个参数直接决定了函数可调用的最大深度,值越大调用最大深度越大;(参照如下代码) |
public class Jvm4_Xss {
private static int count;
private static void recursion() {
count++;
recursion();
}
public static void main(String[] args) {
try {
recursion();
} catch (Throwable e) {
System.out.println("调用最大深度:" + count);
e.printStackTrace();
}
}
}
------------------------------------------------------------------
//JVM 启动参数
-Xmx20m -Xms20m -Xss1m
//运行结果:
调用最大深度:43909
java.lang.StackOverflowError
at jvm.Jvm4_Xss.recursion(Jvm4_Xss.java:8)
at jvm.Jvm4_Xss.recursion(Jvm4_Xss.java:8)
------------------------------------------------------------------
//JVM 启动参数
-Xmx20m -Xms20m -Xss2m
//运行结果:
调用最大深度:103720
java.lang.StackOverflowError
at jvm.Jvm4_Xss.recursion(Jvm4_Xss.java:8)
at jvm.Jvm4_Xss.recursion(Jvm4_Xss.java:8)
拓展 :JVM常用参数