美文网首页
c c++ java堆栈空间内存

c c++ java堆栈空间内存

作者: LongHuang | 来源:发表于2018-05-08 23:39 被阅读0次

    1.C中栈空间是十分有限的。

    测试环境
    VS2015
    Window10
    函数的递归调用要依赖栈空间,这也导致递归调用次数是有限次的。
    在我的测试中,回调了4789次就栈溢出了。



    2.当申请了栈的空间,回调2891次就栈溢出了。

    栈的空间是被共用的。


    JAVA回调次数依赖JVM分配的栈大小,JVM默认分配1M

    java.lang.StackOverflowError
    java.lang.StackOverflowError

    Android栈大小

    Dalvik 具有单独的原生代码堆栈和 Java 代码堆栈,并且默认的 Java 堆栈大小为 32KB,默认的原生堆栈大小为 1MB。ART 具有统一的堆栈以改善局部性。 通常情况下,ART Thread堆栈大小应该与 Dalvik 堆栈大小近乎相同。 但如果您显式设置了堆栈大小,则可能需要针对 ART 中运行的应用重新访问这些值。

    参考资料:

    在 Android Runtime (ART) 上验证应用行为

    相关文章

      网友评论

          本文标题:c c++ java堆栈空间内存

          本文链接:https://www.haomeiwen.com/subject/jpqilftx.html