我觉得开发人员谈论内存泄漏,但当你问他们这意味着许多人不知道.为了防止这些情况,让我们决定一个.
请没有维基百科的定义......
您对内存泄漏的最佳定义是 什么 ?防止它们的最佳方法是什么?
artificialid.. 45
有两个定义(至少对我而言):
天真定义:无法释放无法访问的内存,在执行分配过程期间,任何进程都无法再分配这些内存.这通常可以通过使用GC(垃圾收集)技术或通过自动化工具检测来治愈.
细微定义:无法释放程序无法正常运行所需的可访问内存.使用自动化工具或不熟悉代码的程序员几乎无法检测到这种情况.虽然从技术上讲它不是泄漏,但它与天真的具有相同的含义.这不仅仅是我自己的想法.您可以遇到使用垃圾收集语言编写的项目,但仍然提到在更改日志中修复内存泄漏.
有两个定义(至少对我而言):
天真定义:无法释放无法访问的内存,在执行分配过程期间,任何进程都无法再分配这些内存.这通常可以通过使用GC(垃圾收集)技术或通过自动化工具检测来治愈.
细微定义:无法释放程序无法正常运行所需的可访问内存.使用自动化工具或不熟悉代码的程序员几乎无法检测到这种情况.虽然从技术上讲它不是泄漏,但它与天真的具有相同的含义.这不仅仅是我自己的想法.您可以遇到使用垃圾收集语言编写的项目,但仍然提到在更改日志中修复内存泄漏.
分配的内存由于对其的引用已丢失而无法使用.
定义:分配后无法释放内存
Mozilla有一个很好的页面用于跟踪内存泄漏的工具.
分配内存资源的过程,一旦不再需要就不能正确发布,通常是通过错误的编码实践引入的.
虽然避免使用它们的最佳方法是通过努力观察代码执行路径和代码审查,但有些语言内置了一些方法来帮助防止它们.保持方法的简洁和独特的目的有助于保持资源使用的严格范围,并且不太容易在混乱中丢失.