base - JVM-如何处理栈内存溢出

76 阅读1分钟

世界上并没有完美的程序,但是我们并不因此而沮丧,因为写程序就是一个不断追求完美的过程。

JVM的虚拟机栈的作用是运行方法
出现内存溢出有两种情况

1.线程所申请的栈的深度大于虚拟机所允许的栈的最大深度
2.栈容量无法容纳新的栈帧

对于HotSpot虚拟机来说,栈空间的大小是固定的,以上两种情况都会报StackOverFlow的错误
可以通过参数 -Xss 设置栈空间的大小