1.C中栈空间是十分有限的。
测试环境
VS2015
Window10
函数的递归调用要依赖栈空间,这也导致递归调用次数是有限次的。
在我的测试中,回调了4789次就栈溢出了。
2.当申请了栈的空间,回调2891次就栈溢出了。
栈的空间是被共用的。
JAVA回调次数依赖JVM分配的栈大小,JVM默认分配1M
java.lang.StackOverflowErrorjava.lang.StackOverflowError
Android栈大小
Dalvik 具有单独的原生代码堆栈和 Java 代码堆栈,并且默认的 Java 堆栈大小为 32KB,默认的原生堆栈大小为 1MB。ART 具有统一的堆栈以改善局部性。 通常情况下,ART Thread堆栈大小应该与 Dalvik 堆栈大小近乎相同。 但如果您显式设置了堆栈大小,则可能需要针对 ART 中运行的应用重新访问这些值。
网友评论