超多次递归,如何放大空间? -XSSRun Configurations,找到你运行的配置,修改VM Options 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 Eclipse里,Run --> Run Configurations --> Arguments然后在VM arguments里写上-Xss1M当然-Xss后面的大小你自己指定,最后记得按下面的Apply保存设置不过一般造成栈溢出你首先应该检查的是,递归是否是无限递归,是否有可控的深度,而不是立马就去调栈大小。而且可以很轻易转换为循环的递归,比如尾递归,应该首选循环,递归需要额外的空间,而且函数调用也损失性能。 java中默认栈的深度为1000~2000次,对于一般的程序,这个深度都够用了。如果程序需要再深的深度,就会StackOverflowError还是推荐楼上们的说法,检查自己代码,优化代码,优化方案。 深入理解java虚拟机中说到这段可以写一个for循环去递归,递归1000次,递归2000次,递归更深,直到抛StackOverflowError 关于java中的钩子(hook) 请问关于下载java的问题 N后问题! 关于泛型的类型转换 扫雷游戏。 Java的Swing中使用什么方法判断一个下拉列表框的内容是否为空? 共享3个JAVA MVC模式的例子 java访问数据库的问题 谁有资料阿? 谁有类似bugbase的工具,用于公司内部开发测试的交流协调。 到底是传值还是引用!!! 请问Swing游戏地图怎么表示
然后在VM arguments里写上-Xss1M
当然-Xss后面的大小你自己指定,最后记得按下面的Apply保存设置不过一般造成栈溢出你首先应该检查的是,递归是否是无限递归,是否有可控的深度,而不是立马就去调栈大小。
而且可以很轻易转换为循环的递归,比如尾递归,应该首选循环,递归需要额外的空间,而且函数调用也损失性能。
如果程序需要再深的深度,就会StackOverflowError
还是推荐楼上们的说法,检查自己代码,优化代码,优化方案。
可以写一个for循环去递归,递归1000次,递归2000次,递归更深,直到抛StackOverflowError