分不清的内存溢出、内存泄漏、内存越界

 我来答
户如乐9318
2022-06-22 · TA获得超过6657个赞
知道小有建树答主
回答量:2559
采纳率:100%
帮助的人:139万
展开全部
out of memory: 内存溢出,一看英文名就很清晰了,out of直接说明东西用完了。即 程序运行过程中申请的内存大于系统能够提供的内存,导致无法申请到足够的内存。

memory leak: 内存泄露, 分配内存给临时变量,用完之后却没有被GC回收,始终占用着内存。

out-of-bounds accessing: 内存越界, 指向系统申请一块内存后,使用时却超出申请范围。

如果还是觉得不清晰,可以来看下面一个例子:

把内存比做苹果,我有一篮子观赏性苹果(三个)给朋友们玩(我很抠,玩完了要还给我),给了小红最左边的苹果,给了小明最右边的,给自己留了中间的。

这个时候毛毛来找我要苹果说要玩,我没有了。我就告诉他 out of apple(内存溢出), 意思是我没有了你下次再来吧。

小红玩到中途想要把中间的苹果也拿走,我就斥责他,告诉他这个苹果不该你拿,不是你的。这就是 out-of-bounds accessing(内存越界)。

我和小红、小明玩耍完之后,小红又不把苹果还给我,这就是 apple   leak(内存泄漏)。

如果小红这样的朋友很多,每次玩完都不还苹果,那我一共只有三个苹果,很可能导致某一天我没法给其他朋友苹果玩,甚至最后一个能让我分给朋友的苹果也没有了。所以  内存泄漏 可能会导致 内存溢出。

更新:我突然觉得,篇头的胡思乱想竟然有理有据了起来,内存溢出,水从容器里溢出的场景,是说容器不够大水才溢出来,把容器认为是内存,一切都变得合理了呢!
东莞市友贸实业有限公司_
2023-11-22 广告
第五代双倍数据速率DDR5双列直插式内存模块是一种高速、高性能的内存模块,适用于需要高带宽和低延迟的应用场景。与前几代内存模块相比,DDR5双列直插式内存模块具有更高的数据传输速率和更低的功耗,同时提供了更大的内存容量和更高的可靠性。在数据... 点击进入详情页
本回答由东莞市友贸实业有限公司_提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式