资讯专栏INFORMATION COLUMN

不同编程语言在发生stackoverflow之前支持的调用栈最大嵌套层数

sugarmo / 2733人阅读

摘要:今天我的一位同事在微信群里发了一张图片,勾起了我的好奇心不同编程语言支持的函数递归调用的最大嵌套层数是测试结果版本测试结果测试结果版本测试结果实际上是错误。

今天我的一位同事在微信群里发了一张图片,勾起了我的好奇心:不同编程语言支持的函数递归调用的最大嵌套层数是?

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的原创文章,请关注公众号"汪子熙":

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/99317.html

相关文章

  • 不同编程语言发生stackoverflow之前支持调用最大嵌套层数

    摘要:今天我的一位同事在微信群里发了一张图片,勾起了我的好奇心不同编程语言支持的函数递归调用的最大嵌套层数是测试结果版本测试结果测试结果版本测试结果实际上是错误。 今天我的一位同事在微信群里发了一张图片,勾起了我的好奇心:不同编程语言支持的函数递归调用的最大嵌套层数是? showImg(https://segmentfault.com/img/remote/1460000017116583)...

    learn_shifeng 评论0 收藏0
  • 我了解到JavaScript异步编程

    摘要:接下来我们看下三类异步编程的实现。事件监听事件发布订阅事件监听是一种非常常见的异步编程模式,它是一种典型的逻辑分离方式,对代码解耦很有用处。 一、 一道面试题 前段时间面试,考察比较多的是js异步编程方面的相关知识点,如今,正好轮到自己分享技术,所以想把js异步编程学习下,做个总结。下面这个demo 概括了大多数面试过程中遇到的问题: for(var i = 0; i < 3; i++...

    RichardXG 评论0 收藏0
  • JVM 探究(一):JVM内存模型概念模型

    摘要:作为一个程序员,不了解内存模型就不能写出能够充分利用内存的代码。程序计数器是在电脑处理器中的一个寄存器,用来指示电脑下一步要运行的指令序列。在虚拟机中,本地方法栈和虚拟机栈是共用同一块内存的,不做具体区分。 作为一个 Java 程序员,不了解 Java 内存模型就不能写出能够充分利用内存的代码。本文通过对 Java 内存模型的介绍,让读者能够了解 Java 的内存的分配情况,适合 Ja...

    cnTomato 评论0 收藏0
  • 2019 Android 高级面试题总结

    摘要:子线程往消息队列发送消息,并且往管道文件写数据,主线程即被唤醒,从管道文件读取数据,主线程被唤醒只是为了读取消息,当消息读取完毕,再次睡眠。因此的循环并不会对性能有过多的消耗。 说下你所知道的设计模式与使用场景 a.建造者模式: 将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。 使用场景比如最常见的AlertDialog,拿我们开发过程中举例,比如Camera...

    wums 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<