超多次递归,如何放大空间? -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 eclipse GUI插件安装了之后怎么使用呢 eclipse dao接口快速添加 crud 5 个基本方法 DataOutputStream -> writeUTF 方法 怎么创建一个随系统一起启动的线程 请问怎么样把一个JDialog设置在最前? 请问如何实现一个在最小化时,向瑞星、winzip等一样的在任务栏保留一个图标! 怪问题:对话框不能显示 请问批处理文件怎么写? 初学JAVA用什么工具? Eclipse+MyEclipse 使用 debug 到底是传值还是引用!!! 请问Swing游戏地图怎么表示
然后在VM arguments里写上-Xss1M
当然-Xss后面的大小你自己指定,最后记得按下面的Apply保存设置不过一般造成栈溢出你首先应该检查的是,递归是否是无限递归,是否有可控的深度,而不是立马就去调栈大小。
而且可以很轻易转换为循环的递归,比如尾递归,应该首选循环,递归需要额外的空间,而且函数调用也损失性能。
如果程序需要再深的深度,就会StackOverflowError
还是推荐楼上们的说法,检查自己代码,优化代码,优化方案。
可以写一个for循环去递归,递归1000次,递归2000次,递归更深,直到抛StackOverflowError