内存泄漏和内存溢出
内存泄漏(Memory leak),也称内存渗漏,是指应用程序在利用完内存后,没有对内存进行释放,导致当前内存的浪费(丢失);一次的内存泄漏,可能不严重,但是如果出现内存泄漏的堆积,则会引发内存溢出,致使系统中的应用程序不能正常运行。
内存溢出(Out of memory),是指应用程序在申请内存后,系统提供的内存不能满足被申请的空间,称为内存溢出。举个例子,一个篮子只能装10个苹果,但在装1个苹果的时候,苹果就会从篮子里掉下来,苹果掉地上了,就不能吃了,就是这个道理。
内存泄漏的堆积会引发内存溢出。
内存泄漏包含几种情况:
1.常规性内存泄漏
2.偶然性内存泄漏
3.一次性内存泄漏
4.隐藏式内存泄漏