内存泄漏(memory leak)和内存溢出(out of memory)

一、概念:

memory leak---内存泄漏:是指程序申请内存空间后,无法释放。然而,内存泄漏不断叠加会导致系统把内存花完,以致于发生内存溢出。(用了不还)

out of memory---内存溢出:是指程序申请的内存空间>系统能提供的内存空间。如:你申请了integer来装long才能装下的数,发生内存溢出。(用了不够用)

二、内存泄漏

包括4种:

1. 常发性内存泄漏。发生内存泄漏的代码会被多次执行到,每次被执行的时候都会导致一块内存泄漏。 

2. 偶发性内存泄漏。发生内存泄漏的代码只有在某些特定环境或操作过程下才会发生。

3. 一次性内存泄漏。发生内存泄漏的代码只会被执行一次,或者由于算法上的缺陷,导致总会有一块仅且一块内存发生泄漏。如:在构造函数new,而没有在析构函数delete。

4. 隐式内存泄漏。程序在运行过程中不停的分配内存,但是直到结束的时候才释放内存。(危害性则非常大,因为更难被检测到


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值