Java堆栈空间与最大服务器请求线程

时间:2014-03-10 18:14:46

标签: java tomcat threadpool

服务器中的Java堆栈空间和最大请求​​线程数是否相互关联?

它们之间的关系是否会导致服务器无法响应请求并挂起?

1 个答案:

答案 0 :(得分:1)

在分配时,每个线程都有自己的堆栈,并且每个堆栈可以达到最大大小(取决于VM实现)。因此,您的堆栈大小可能设置为1MB,但是您可能有1000个线程,它们之间总共最多可以使用1GB的堆栈。

如果堆栈超支,通常会出现异常。我想如果你有很多线程在堆栈上持有很多状态,那些没有完成,而不是超越,那么你可能会耗尽你的记忆并看到类似挂起的东西。

如果你想看一下这个问题,https://stackoverflow.com/a/20030999/857994有一些有趣的信息。