分享
不同编程语言在发生stackoverflow之前支持的调用栈最大嵌套层数
JerryWangSAP · · 1355 次点击 · · 开始浏览这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。
今天我的一位同事在微信群里发了一张图片,勾起了我的好奇心:不同编程语言支持的函数递归调用的最大嵌套层数是?
Java 1.8
private static void recur(int i){
System.out.println("Stack level: " + i);
recur(++i);
}
测试结果:8644
Javascript in Chrome
Chrome版本:
Version 70.0.3538.102 (Official Build) (64-bit)
function a(i){
console.log("stack level: " + i)
a(i+1);
}
a(0);
测试结果:11412
JavaScript in nodejs
nodejs version: v8.11.3
测试结果:11213
Golang
版本:
测试结果:3947556
ABAP
data: lv_temp type int4.
form recur using iv type int4.
sy-index = iv.
lv_temp = iv + 1.
perform recur using lv_temp .
endform.
START-OF-SELECTION.
perform recur using 0.
实际上是out-of-memory错误。
测试结果:12258206
要获取更多Jerry的原创文章,请关注公众号"汪子熙":
有疑问加站长微信联系(非本文作者)
入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889
关注微信1355 次点击
添加一条新回复
(您需要 后才能回复 没有账号 ?)
- 请尽量让自己的回复能够对别人有帮助
- 支持 Markdown 格式, **粗体**、~~删除线~~、
`单行代码` - 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
- 图片支持拖拽、截图粘贴等方式上传
收入到我管理的专栏 新建专栏
今天我的一位同事在微信群里发了一张图片,勾起了我的好奇心:不同编程语言支持的函数递归调用的最大嵌套层数是?
Java 1.8
private static void recur(int i){
System.out.println("Stack level: " + i);
recur(++i);
}
测试结果:8644
Javascript in Chrome
Chrome版本:
Version 70.0.3538.102 (Official Build) (64-bit)
function a(i){
console.log("stack level: " + i)
a(i+1);
}
a(0);
测试结果:11412
JavaScript in nodejs
nodejs version: v8.11.3
测试结果:11213
Golang
版本:
测试结果:3947556
ABAP
data: lv_temp type int4.
form recur using iv type int4.
sy-index = iv.
lv_temp = iv + 1.
perform recur using lv_temp .
endform.
START-OF-SELECTION.
perform recur using 0.
实际上是out-of-memory错误。
测试结果:12258206
要获取更多Jerry的原创文章,请关注公众号"汪子熙":