内存泄漏 与 内存溢出

笔记

Posted by Wason on February 20, 2022

内存泄漏 与 内存溢出

1.内存泄漏:分配的内存空间被占用,没有及时释放;

内存泄漏(memory leak),是指程序在申请内存后,无法释放已申请的内存空间,一次内存泄漏危害可以忽略,但内存泄漏堆积后果很严重,无论多少内存,迟早会被占光

2.内存溢出:内存空间不够或已被分配完,无法再分配新的内存空间 或 容纳过多数据(满了);

内存溢出(out of memory),是指程序在申请内存时,没有足够的内存空间供其使用,出现out of memory;比如申请了一个integer,但给它存了long才能存下的数,那就是内存溢出

3.内存泄漏不一定会造成内存溢出,大量的内存泄漏才有可能造成内存溢出。
e.g. 闭包会占用内存空间,进而造成内存泄漏,但闭包并不一定会造成内存溢出。