什么是内存泄漏?
内存泄漏指因为疏忽或错误造成程序未能释放已经不再使用的内存的情况。内存泄漏并不是指内存在物理上的消失,而是应用程序分配某段内存后,因为设计错误,失去了对该段内存的控制,因而造成了内存的浪费。
存泄漏的危害:
长期运行的程序出现内存泄漏,影响很大,如操作系统、后台服务等等,出现内存泄漏会导致响应越来越慢,最终卡死。
Problem:那么内存泄漏是指针丢了还是内存丢了?
Answer:是指针丢了。内存泄漏是指我们在内存中申请了一块内存,但是没有去动手释放内存,导致指针已经消失,而指针所指向的空间还被占用,系统就已经不能控制这块空间了。使用完变量之后却没有及时回收这部分内存,这时我们说发生了内存泄漏。如果发生了内存泄漏有没有及时发现,随着程序的运行,程序占用空间会越来越大,直到消耗完系统的所有内存,系统就会崩溃。
总结: 进程正常结束,没有释放的内存也会被释放掉。所以一般的程序内存泄露也还好,危害并不是很大。
但是长期运行的程序就很可能出现内存泄漏,比如服务器上程序,如果王者荣耀后台,美团后台服务,滴滴后台服务