内存泄漏是编写代码时最不想要遇到的情况之一,为什么?

 我来答
小渔母婴说
2022-11-01 · 超过13用户采纳过TA的回答
知道答主
回答量:269
采纳率:0%
帮助的人:10.9万
展开全部

内存泄漏是在编写代码的时候最不想要遇到的情况之一,一旦是遇到了之后就需要停止已经运行的程序或程序根本就没有运行起来,找到出错的地方,进行修改,因为内存泄露本身是一种给数据分配了一个空间,但在结尾没有回收的现象,一旦是程序运行到了最后,就会提醒你出错,这里说一下内存泄露产生的几种原因。

一、单利静态造成

单例静态的未回收是内存泄露产生几种原因最常见的一种,因为单例静态自身的使用周期与应用的周期一样长,在漫长的使用过程之中,单例还占据着对象引用开辟出来的空间,会造成最后程序结尾的内存泄露。 就好比是我借了你的钱,你钱的一部分到了我的手上,并承诺规定时间内归还,但你忘了这件事情,那么就不还了,等着资金链断了才最终想起来这件事情。

二、内部类持有外部类

如果是一个外部类生成的一个实例对象,一直被内部类数据在使用着,到了最后哪个外部类已经不再使用了,但是内部类还是一直在使用,并没有对这段内存进行释放,所以这个外部类不回被回收,这也是产生内存泄露的一个原因。

三、库和协议的连接

当我们在进行数据库的连接,或者网络连接的过程之中,都需要用到数据进行传输,这个数据的使用,一直随着连接的关闭而停止,但是一直到最后,这种连接都没有关闭,就会造成大量的对象没有办法回收,从而造成了内存的泄露,已经应用的崩溃卡死。

四、变量不合理的定义域

在变量使用过程之中,要对变量的定义域进行约束,如果是变量定义域在使用的过程之中本身的范围超过了所需要的范围,并且没有置空,则就会造成内存泄露的出现。

cisygirl
2022-11-01 · 爱舞蹈的一枚小小会计
cisygirl
采纳数:20 获赞数:396

向TA提问 私信TA
展开全部
内存泄漏是最容易遇到的问题之一,这是由C/C++语言的特性引起的。C/C++语言与其他语言不同,需要开发者去申请和释放内存,即需要开发者去管理内存,如果内存使用不当,就容易造成段错误。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
糖tang说数码
2022-11-01 · TA获得超过548个赞
知道答主
回答量:675
采纳率:100%
帮助的人:16.6万
展开全部
单例静态的未回收是内存泄露产生几种原因最常见的一种,因为单例静态自身的使用周期与应用的周期一样长,在漫长的使用过程之中,单例还占据着对象引用开辟出来的空间,会造成最后程序结尾的内存泄露。 就好比是我借了你的钱,你钱的一部分到了我的手上,并承诺规定时间内归还,但你忘了这件事情,那么就不还了,等着资金链断了才最终想起来这件事情。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
是污味小仙女吖
2022-11-01
知道答主
回答量:0
采纳率:0%
帮助的人:0
展开全部
因为内存泄漏之后程序就崩溃了,前面写的代码就白写了,而且内存泄漏一时间还找不出原因,所以这个是最不愿意遇到的情况。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式