操作系统允许程序自己分配内存,并自由使用,使用完了还可以再释放掉,将内存归还给计算机。
所谓分配内存,就是程序向计算机申请一块内存空间,然后自己使用;所谓释放内存,就是程序告诉计算机不再使用之前的内存空间了,需要归还给计算机,让其它程序使用。
如果一个程序不停地分配内存,而不释放内存,那么拥有的内存就会越来越多,计算机内存就会被消耗殆尽,其它程序能够使用的内存越来越少,整台计算机就会都变得缓慢,甚至卡死,这就是内存泄露(Memory leak)。
下面我们就用 while 循环来写一个内存泄漏的例子:
while 循环的条件是 1,始终成立,循环会一直进行下去,永无休止,所以是一个“死循环”。
每次循环,程序都会向计算机申请 1024 个字节&#