Java中栈溢出解决办法
程序员文章站
2022-07-15 09:20:57
...
由于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)
上一篇: xml+css显示数据
下一篇: 禁止查看源文件
推荐阅读
-
java中针对safari下载pdf、excel、word等文档变成exe文件解决办法
-
如何给女朋友讲明白:Java 中 Stack(栈) 与 Heap(堆)
-
java中的栈stack
-
一位面试官询问我:Java中的JVM内存溢出和内存泄露是什么
-
Java全栈程序员之06:IDEA中MAVEN项目依赖及运行
-
浅谈从Java中的栈和堆,进而衍生到值传递
-
Tomcat同时部署多个应用——内存溢出(java.lang.OutOfMemoryError: PermGen space)的解决办法
-
java.lang.*Error JVM栈溢出
-
归并排序栈溢出异常Exception in thread "main" java.lang.*Error
-
Exception in thread “main“ java.lang.*Error ——Spark栈溢出解决方案