问题描述
最近有同事离职,有个项目的紧急需求变更开发就落到我头上了。由于最近都在开发前端,好久没有碰 java
,经过一番猛如虎的环境搭建操作以后,刚想有一番作为的时候,发现项目都启动不起来了,控制台死循环了,报错如下:
nested exception is java.lang.StackOverflowError
问题分析
我采用的是 IDEA
+ Tomcat9
开发,从报错上看是栈溢出,该问题一般是由于代码有死循环产生的。但是我还没大展身手,而且其他同事能正常启动,说明没有死循环。排除了代码的问题,就剩下环境问题,那么问题的最大可能就是虚拟机的栈溢出。
解决方法
我们可以通过调高虚拟机的栈大小来解决,以本文 IDEA
+ Tomcat9
环境为例。在开发工具 IDEA
中找到项目对应的 Tomcat
在 VM options
中增加 -Xss2m
(如已存在其他配置项,请使用空格隔开)。如下图所示:
虚拟机每个栈默认1m,通过
-Xss
适当加大其大小,但是不能无限制的加大,会限制最大线程数。
版权属于:瞭月
本文链接:https://www.lervor.com/archives/218/
版权声明:本文为瞭月原创文章,转载请附上原文出处链接和本声明。