`
jojo_java
  • 浏览: 93463 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

Java中栈溢出解决办法

    博客分类:
  • JAVA
阅读更多
由于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 楼 snow8261 2014-08-12  
new的对象,满足逃逸分析的不会逃逸的对象才会放在栈里,其他都放在堆里。

相关推荐

Global site tag (gtag.js) - Google Analytics