如题,求解。。
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 ![]() 因为栈溢出是一种常见的攻击手段。而堆溢出,堆还能溢出? |
![]() | 4 overthemoon 2020-08-31 14:43:12 +08:00 。。。。 |
![]() | 5 Mutoo 2020-08-31 14:49:40 +08:00 ![]() 递归函数能导致栈溢出,而堆只会被耗尽。 |
8 polaa 2020-08-31 15:20:43 +08:00 ![]() |
9 polaa 2020-08-31 15:21:03 +08:00 @woodensail 能 |
![]() | 10 rrfeng 2020-08-31 15:32:26 +08:00 ![]() 因为 heap 一般没有 overflow,只会 oom kill (逃 |
![]() | 11 c6h6benzene 2020-08-31 15:52:10 +08:00 via iPhone ![]() @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,而最容易导致溢出的方法是递归调用。要撑爆堆空间得大片申请内存,不太容易因为误操作引发这个问题,通常得是长期运行的程序。 |