如题,求解。。
1
laoyur 2020-08-31 14:28:57 +08:00
stack
heap 那楼主你觉得这两个怎么翻译? |
2
yhxx 2020-08-31 14:30:27 +08:00
可能因为堆被 heap 用掉了?
|
3
woodensail 2020-08-31 14:31:30 +08:00 1
因为栈溢出是一种常见的攻击手段。而堆溢出,堆还能溢出?
|
4
overthemoon 2020-08-31 14:43:12 +08:00
。。。。
|
5
Mutoo 2020-08-31 14:49:40 +08:00 2
递归函数能导致栈溢出,而堆只会被耗尽。
|
8
polaa 2020-08-31 15:20:43 +08:00 4
|
9
polaa 2020-08-31 15:21:03 +08:00
@woodensail 能
|
10
rrfeng 2020-08-31 15:32:26 +08:00 1
因为 heap 一般没有 overflow,只会 oom kill (逃
|
11
c6h6benzene 2020-08-31 15:52:10 +08:00 via iPhone 1
@Afralv #7 面试问这个我就觉得是考英文…
|
12
wqzjk393 2020-08-31 17:50:50 +08:00 via iPhone
堆一般不就是存放大体积的复杂数据结构的么,空间小了怎么能行。
|
13
shenmimu 2020-08-31 19:42:49 +08:00
因为堆溢出叫 OutOfMemory 不叫 HeapOverFlow 啊
|
14
jim9606 2020-08-31 21:22:05 +08:00
我觉得还是 StackOverflow 更容易遇到吧,现代 OS 的栈功能实现时需要硬件支持的,而空间大小有限制,通常只有几 MB,而最容易导致溢出的方法是递归调用。要撑爆堆空间得大片申请内存,不太容易因为误操作引发这个问题,通常得是长期运行的程序。
|