Java中栈溢出解决办法
程序员文章站
2022-07-15 09:27:40
...
由于java自动分配与拾取内存空间,我们无法用动态分配堆栈的大小,所以只能用以下方法来解决stack overflow的问题:
(1)别用深层递归,别传大参数;
(2)如果无法满足(1)的要求,那就将可能引发stack overflow的变量设为全局变量,这样它会被存在堆里(或其它地方)。
Note:用new 初始的变量是会被房子栈里头的。
(3)如果(2)无法解决问题,就用如下命令:
java -Xss2048k program_name
|
-Xss将thread stack size变为2m(个人认为windows默认的stack size为1m)
(1)别用深层递归,别传大参数;
(2)如果无法满足(1)的要求,那就将可能引发stack overflow的变量设为全局变量,这样它会被存在堆里(或其它地方)。
Note:用new 初始的变量是会被房子栈里头的。
(3)如果(2)无法解决问题,就用如下命令:
java -Xss2048k program_name
|
-Xss将thread stack size变为2m(个人认为windows默认的stack size为1m)
下一篇: 一个远程访问mysql的错误的解决
推荐阅读