springboot运行时内存溢出_栈溢出的检测

springboot运行时内存溢出_栈溢出的检测_第1张图片

说到stack(栈),大家很可能就会想起stack overflow(栈溢出),著名的程序问答网站http://stackoverflow.com 就是以此命名的。因为栈通常是从高地址向低地址增长的,因此"栈溢出"分为两种:超出低地址范围的overrun(上溢)和超出高地址范围的underrun(下溢),"上溢"主要是由过深的函数调用引起(比如递归调用):

springboot运行时内存溢出_栈溢出的检测_第2张图片

而"下溢"则会出现在数组/字符串越界的时候(数组的内存分布是从低地址到高地址的)。

springboot运行时内存溢出_栈溢出的检测_第3张图片

因为"栈溢出"造成的数据破坏很可能不会在被破坏的那一瞬间立刻显现,而是像幽灵一样潜伏着,直到之后的某个时刻,被破坏的数据再次被访问到。为了将这些幽灵

你可能感兴趣的:(vs2019不能更改栈)