Afralv
V2EX  ›  问与答

为什么 stackoverflow 网站取名栈溢出而不是堆溢出?

  •  
  •   Afralv · Aug 31, 2020 · 4297 views
    This topic created in 2082 days ago, the information mentioned may be changed or developed.

    如题,求解。。

    14 replies    2020-08-31 21:22:05 +08:00
    laoyur
        1
    laoyur  
       Aug 31, 2020
    stack
    heap
    那楼主你觉得这两个怎么翻译?
    yhxx
        2
    yhxx  
       Aug 31, 2020
    可能因为堆被 heap 用掉了?
    woodensail
        3
    woodensail  
       Aug 31, 2020   ❤️ 1
    因为栈溢出是一种常见的攻击手段。而堆溢出,堆还能溢出?
    overthemoon
        4
    overthemoon  
       Aug 31, 2020
    。。。。
    Mutoo
        5
    Mutoo  
       Aug 31, 2020   ❤️ 2
    递归函数能导致栈溢出,而堆只会被耗尽。
    Afralv
        6
    Afralv  
    OP
       Aug 31, 2020
    @Mutoo 谢谢
    Afralv
        7
    Afralv  
    OP
       Aug 31, 2020
    @laoyur 希望您面试的时候也这么答
    polaa
        8
    polaa  
       Aug 31, 2020   ❤️ 4
    polaa
        9
    polaa  
       Aug 31, 2020
    rrfeng
        10
    rrfeng  
       Aug 31, 2020   ❤️ 1
    因为 heap 一般没有 overflow,只会 oom kill (逃
    c6h6benzene
        11
    c6h6benzene  
       Aug 31, 2020 via iPhone   ❤️ 1
    @Afralv #7 面试问这个我就觉得是考英文…
    wqzjk393
        12
    wqzjk393  
       Aug 31, 2020 via iPhone
    堆一般不就是存放大体积的复杂数据结构的么,空间小了怎么能行。
    shenmimu
        13
    shenmimu  
       Aug 31, 2020
    因为堆溢出叫 OutOfMemory 不叫 HeapOverFlow 啊
    jim9606
        14
    jim9606  
       Aug 31, 2020
    我觉得还是 StackOverflow 更容易遇到吧,现代 OS 的栈功能实现时需要硬件支持的,而空间大小有限制,通常只有几 MB,而最容易导致溢出的方法是递归调用。要撑爆堆空间得大片申请内存,不太容易因为误操作引发这个问题,通常得是长期运行的程序。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   1221 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 73ms · UTC 17:38 · PVG 01:38 · LAX 10:38 · JFK 13:38
    ♥ Do have faith in what you're doing.