内存泄漏

内存泄漏是一种编程错误,会导致程序逐渐消耗系统内存,直到内存耗尽。内存泄漏发生得很慢,会导致计算机性能逐渐下降,直到程序崩溃或整个操作系统冻结。退出导致泄漏的程序可以释放系统内存并解决问题,但该程序下次运行时问题还会再次出现。

当程序在不再需要内存后未能释放内存时,就会发生内存泄漏。程序运行进程时,会向系统请求一定量的内存来运行该进程。该进程结束后,程序应将这部分内存释放回系统,以便其他程序使用。如果程序没有包含能够释放内存的正确函数(或者这些函数未被正确使用),它就会无限期地占用这部分内存。当程序稍后再次运行该进程时,它会向系统请求更多内存,而不是使用之前已分配的内存,从而不断增加其使用的RAM数量,直到系统没有剩余内存供其他函数使用。

存在内存泄漏的程序每次运行时都会继续泄漏内存,直到错误得到修复。幸运的是,软件开发工具包通常包含调试器,可以检查程序的源代码是否存在内存泄漏。程序的开发者找到错误后,就可以更新程序并发布补丁

NOTE:一些编程语言例如(JavaPython)使用一种称为“垃圾回收”的内存管理技术,可以自动回收内存,并解决许多(但不是全部)内存泄漏错误。

更新日期 October 25, 2023 作者 Brian P.

quiz测试你的知识

Which of the following statements about black box testing is true?

A
It is done by users not familar with a program's source code.
0%
B
It is a type of penetration testing performed by AI bots.
0%
C
It is performed after a software program has been released to the public.
0%
D
It determines how many illegal copies of a software program exist.
0%
Correct! Incorrect!     View the Black Box Testing definition.
More Quizzes →

Tech Terms 计算机词典

本页中内存泄漏的定义是由 TechTerms.com 的作者撰写的原创定义。如果您想引用本页或引用此定义,请使用定义正下方的绿色引用栏。

我们的目标是以简单易懂的方式解释计算机术语。我们努力使发布的每个定义都做到准确和简明。如果您对本定义有任何反馈,或想建议一个新的技术术语,请联系我们

Tech Terms 通讯

通过我们的每日或每周通讯提升您的技术知识!立即订阅,即可将新术语和测验发送到您的收件箱。

订阅免费的 TechTerms 通讯

您希望多久收到一封电子邮件?

您可以随时使用每封邮件中的链接取消订阅或更改接收频率。 有疑问?请联系我们

注意:通讯以英文发送。