我觉得开发人员谈论内存泄漏,但当你问他们这意味着什么时,很多人都不知道。为了防止出现这些情况,让我们决定一种情况。
请不要维基百科定义...
What is your best definition of a memory leak and what is the best way to prevent them?
最佳答案
有两个定义(至少对我来说):
朴素定义:未能释放无法访问的内存,在分配进程执行期间,任何进程都无法再分配该内存。这主要可以通过使用 GC(垃圾收集)技术或通过自动化工具检测来解决。
微妙的定义:无法释放程序正常运行不再需要的可达内存。使用自动化工具或不熟悉代码的程序员几乎不可能检测到这一点。虽然从技术上讲这不是泄漏,但它与天真的泄漏具有相同的含义。这不仅仅是我一个人的想法。您可能会遇到用垃圾收集语言编写的项目,但仍然在其变更日志中提到修复内存泄漏。
关于memory-leaks - 最佳内存泄漏定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/312069/