简单点儿说,就是堆栈 溢出了呗。
溢出 就是堆栈满了,还往里面塞东西。
老实说上面所谓通俗的解释,在我看来没有一个靠谱的,除了抖机灵和吐名词,根本没有解释问题么。
刚刚已经说了,堆栈溢出就是堆栈满了,还往里面塞东西,然后就挂了。
那么堆栈是什么?如果计算机是一个白领的话,那么堆栈就是他的办公桌。为了完成老板(程序)交代的工作,这个白领需要从书架或者柜子里拿出资料出来核对处理。所谓的堆栈溢出就是为了解决一个任务,所需要的资料或者所处理的临时数据太多了把桌子堆满了,然后这个白领就罢工了。。。。
但一般情况下,这个办公桌是足够大的,所以堆栈溢出一般都是老板(程序)交代的工作出现了问题。最常见的就是无限递归,例如为了解决问题A,必先解决问题B,要解决问题B,必须解决问题A,这时候这个这个白领不断的写笔记解决问题A,解决到一半又要写笔记解决问题B,还没弄完又要写笔记解决问题A,如此反复,很快桌子就被笔记堆满了(溢出了)。