内存泄漏
内存泄漏是一种编程错误,会导致程序逐渐消耗系统内存,直到内存耗尽。内存泄漏发生得很慢,会导致计算机性能逐渐下降,直到程序崩溃或整个操作系统冻结。退出导致泄漏的程序可以释放系统内存并解决问题,但该程序下次运行时问题还会再次出现。
当程序在不再需要内存后未能释放内存时,就会发生内存泄漏。程序运行进程时,会向系统请求一定量的内存来运行该进程。该进程结束后,程序应将这部分内存释放回系统,以便其他程序使用。如果程序没有包含能够释放内存的正确函数(或者这些函数未被正确使用),它就会无限期地占用这部分内存。当程序稍后再次运行该进程时,它会向系统请求更多内存,而不是使用之前已分配的内存,从而不断增加其使用的RAM数量,直到系统没有剩余内存供其他函数使用。
存在内存泄漏的程序每次运行时都会继续泄漏内存,直到错误得到修复。幸运的是,软件开发工具包通常包含调试器,可以检查程序的源代码是否存在内存泄漏。程序的开发者找到错误后,就可以更新程序并发布补丁。
NOTE:一些编程语言例如(Java和Python)使用一种称为“垃圾回收”的内存管理技术,可以自动回收内存,并解决许多(但不是全部)内存泄漏错误。
测试你的知识