`
JerryWang_SAP
  • 浏览: 1030417 次
  • 性别: Icon_minigender_1
  • 来自: 成都
文章分类
社区版块
存档分类
最新评论

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

阅读更多

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

 

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

 
分享到:
评论

相关推荐

    最受欢迎的编程语言的最受欢迎存储库列表(根据StackOverflow)-Python开发

    ARL(另一个存储库列表)嗯,学习新事物的最好方法之一就是观察他人...以下是每种最受欢迎​​的编程语言(根据StackOverflow)的最受欢迎的存储库列表的列表(按星数排序):Python JavaScript Java C C ++ NodeJS C#...

    如何解决java.lang.StackOverflowError

    在Java编程中,`java.lang.StackOverflowError` 是一个常见的运行时异常,它通常发生在程序执行过程中,当Java虚拟机(JVM)的调用栈溢出时。调用栈是每个线程用来存储方法调用信息的数据结构,当递归调用过深或者...

    Python-按编程语言列出最受欢迎并最常用的GitHub库列表根据StackOverflow

    标题中的“Python-按编程语言列出最受欢迎并最常用的GitHub库列表根据StackOverflow”指的是通过StackOverflow的数据分析,找出在Python编程语言中最受欢迎且被广泛使用的GitHub仓库。这通常是为了帮助开发者了解...

    系统稳定性——StackOverFlowError常见原因及解决方法1

    在Java编程中,系统稳定性是至关重要的,而StackOverflowError是一个常见的运行时错误,通常由于内存管理问题导致。本篇文章将详细探讨StackOverflowError的原因和解决方案。 StackOverflowError是由于线程的JVM栈...

    ask.cr:适用于Crystal编程语言的类似Stackoverflow的应用程序

    该项目旨在作为Crystal编程语言的资源,在该语言中,用户可以通过提问来获得帮助,而通过分享他们的知识并回答问题来帮助其他人。 该项目目前正在重写中,初始发行版已完成约65%。 如果您想提供帮助,请随时提出...

    Stackoverflow架构设计和开发内幕

    在深入探讨Stackoverflow的架构设计和开发内幕之前,有必要先对Stackoverflow本身有一个基本了解。Stackoverflow是一个面向编程专业人士的问答网站,其特点在于用户可以问问题、回答问题并参与社区讨论。由于其高效...

    StackOverflow 创始人推荐图书

    StackOverflow作为全球最大的程序员社区之一,其创始人Jeff Atwood的推荐图书具有重要的参考价值。本文将深入解析这些书籍的关键知识点,帮助读者更好地理解每本书的价值所在。 #### 二、《代码大全2》 - **作者**...

    Java编程语言中的方法.docx

    Java编程语言中的方法是程序设计的核心组成部分,它们允许代码的重用和模块化。方法(也称为函数)在Java中扮演着至关重要的角色,通过封装特定的逻辑或操作,使得程序更加整洁,易于理解和维护。 1. **方法的定义...

    Go-在你的终端访问StackOverflow

    标题 "Go-在你的终端访问StackOverflow" 指出我们将在本文中探讨如何使用Go语言来构建一个命令行工具,使得用户可以在终端环境中访问和交互StackOverflow网站。这个工具可能是一个CLI(命令行界面)应用程序,允许...

    5 运行时数据区之虚拟机栈.md,学习代码i

    前者发生在栈容量不足,无法为新的方法调用分配栈帧时;后者则发生在堆内存不足以分配新的对象,导致无法为栈帧分配空间。 图片资源可能包括了虚拟机栈的可视化示例、栈帧结构图以及不同异常情况的解释,帮助读者更...

    stackoverflow fixed 2021-04-08 by storm.zip

    1. **StackOverflow 插件**:这是一个专为 IntelliJ IDEA 设计的插件,旨在方便开发者在 IDE 内部直接访问 StackOverflow 网站,以寻求编程问题的答案和解决方案,提高开发效率。 2. **停止更新**:原始插件的...

    JVM_01 内存结构(程序计数器、虚拟机栈、本地方法栈)

    - **支持多种编程语言**:通过本地方法栈,Java 可以与其他编程语言(如 C/C++)进行交互。 - **性能和兼容性**:本地方法栈能够提高性能,并且增强了 Java 与现有系统的集成能力。 #### 三、总结 通过上述分析...

    Python-SoCLI是一个用Python编写的StackOverflow命令行工具

    Python作为一种高级编程语言,因其简洁明了的语法、丰富的库支持以及跨平台的特性,被广泛用于各种项目,包括开发命令行工具。SoCLI就是这样的例子,它利用Python的易读性和强大的网络请求库,如`requests`,实现了...

    Java语言速览:StackOverflow

    使用这个标签可以(在StackOverflow上)查找有关 Java 编程语言或者 Java 平台工具的问题。  Java 是一种高性能、跨平台、面向对象的编程语言和运行环境。Java 大部分语法起源于 C 和 C++,但是其对象模型比 C++ ...

    javaFX不同窗口之间进行调用以及进行通信的实现办法

    JavaFX是一种用于构建桌面、移动和...通过理解并实践这些知识点,你可以有效地在JavaFX的不同窗口之间进行调用和通信,构建出功能丰富的应用程序。记得在编写代码时保持良好的编程习惯,确保代码的可读性和可维护性。

    JAVA中堆和栈的区别 - 路人浅笑 - 博客园.rar_java编程

    在Java编程中,堆和栈是两种非常重要的内存区域,它们各自承担着不同的职责,对于程序的运行效率和内存管理有着至关重要的作用。下面将详细阐述堆和栈的区别。 1. **栈(Stack)** - **定义**:栈是一种线性数据...

    stackoverflow java问答电子书

    stackoverflow java mobi 电子书 ebook java学习好资料

    Android-在项目崩溃时获取异常自动联网在StackOverflow百度或其他平台上寻找回答链接和详情

    在Java编程语言中,异常是通过try-catch-finally语句块来处理的。当代码块中出现异常时,会抛出一个异常对象,如果被捕获,程序会在catch块中执行相应的错误处理代码。如果没有被捕获,异常将被传递到调用栈的上一级...

    stackoverflow

    堆栈溢出通常发生在程序运行时,当程序试图使用比可用堆栈内存更多的空间时发生。在这个特定的压缩包文件"stackoverflow-master"中,我们可能找到了与Java编程语言相关的示例代码,这些问题和解决方案可能是从著名的...

Global site tag (gtag.js) - Google Analytics