谈一谈,堆溢出与栈溢出

溢出这个概念,相信大家,都不陌生。不过具体堆溢出和栈溢出有什么区别,可能很多人就在这方面迷糊了。下面我来举个小例子来说明。

堆溢出

拿新浪微博来说,新浪微博最近推出了一个新功能,这个新功能也是我想写这篇文章的原因之一。在微博里搜索“全景图片”关键字,微博客户端就会崩溃。

为什么会崩溃呢?这里的原因也很明显。微博的全景图片和视频不一样,视频需要你手动进行点击加载,而微博的全景图片自动就会加载。这样一来,我们在微博中搜索全景图片的时候,微博的客户端就会自动加载很多全景图片。堆瞬间被用完,客户端崩溃。

栈溢出

还是拿新浪微博来说,假设a关注了b,b又关注了a。那么执行以下步骤。

1.  在a的关注中找到b打开b,然后在b的关注中找到a。

2.  重复以上步骤n次以后,微博客户端就会崩溃。

这就是嵌套递归,将栈用完并超出。

当然这个例子,理解成堆用完也是可以的。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容