为了账号安全,请及时绑定邮箱和手机立即绑定

Java中的深度递归会导致堆栈溢出?

Java中的深度递归会导致堆栈溢出?

拉莫斯之舞 2019-10-16 11:09:57
在对函数式语言有一定的经验之后,我开始在Java中更多地使用递归-但是该语言似乎只有约1000个相对较浅的调用堆栈。有没有办法使调用堆栈更大?就像我可以像在Erlang中那样进行数百万次调用的函数吗?当我处理Project Euler问题时,我越来越注意到这一点。谢谢。
查看完整描述

3 回答

?
波斯汪

TA贡献1811条经验 获得超4个赞

是否使用尾部递归由JVM决定-我不知道它们中是否有尾递归,但是您不应该依赖它。特别是,改变堆栈大小将非常很少是做正确的事,除非你有你需要多少递归级别实际上使用了硬限制,你知道每个会到底有多少堆栈空间占用。很脆弱

基本上,您不应使用不是为它构建的语言的无限制递归。恐怕您将不得不使用迭代。是的,有时候可能会有点痛苦:(


查看完整回答
反对 回复 2019-10-16
  • 3 回答
  • 0 关注
  • 1821 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信