我创建了一个程序来检查java中的最大线程数
public class Test extends Thread {
static int count;
public static void main (String [] args){
for(;;){
count++;
System.out.println(count);
new Test().start();
}
}
@Override
public void run() {
try {
Thread.sleep(100000000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
第一次迭代 -Xmx1024m ,max thread = 2011 > 第二次迭代 -Xmx512m ,max thread = 3350 > 第三次迭代 -Xmx2m ,max thread = 5112
我也尝试过设置 -Xss1m ,max thread = 1011,然后我设置了 -Xss256k max thread 4900+
我有两个问题
1)java中堆栈和堆大小的关系是什么?
2)在java中最大线程数取决于什么因素?