当前位置:  开发笔记 > 程序员 > 正文

最佳内存泄漏定义

如何解决《最佳内存泄漏定义》经验,为你挑选了4个好方法。

我觉得开发人员谈论内存泄漏,但当你问他们这意味着许多人不知道.为了防止这些情况,让我们决定一个.

请没有维基百科的定义......

您对内存泄漏的最佳定义是 什么 ?防止它们的最佳方法是什么?

artificialid.. 45

有两个定义(至少对我而言):

天真定义:无法释放无法访问的内存,在执行分配过程期间,任何进程都无法再分配这些内存.这通常可以通过使用GC(垃圾收集)技术或通过自动化工具检测来治愈.

细微定义:无法释放程序无法正常运行所需的可访问内存.使用自动化工具或不熟悉代码的程序员几乎无法检测到这种情况.虽然从技术上讲它不是泄漏,但它与天真的具有相同的含义.这不仅仅是我自己的想法.您可以遇到使用垃圾收集语言编写的项目,但仍然提到在更改日志中修复内存泄漏.



1> artificialid..:

有两个定义(至少对我而言):

天真定义:无法释放无法访问的内存,在执行分配过程期间,任何进程都无法再分配这些内存.这通常可以通过使用GC(垃圾收集)技术或通过自动化工具检测来治愈.

细微定义:无法释放程序无法正常运行所需的可访问内存.使用自动化工具或不熟悉代码的程序员几乎无法检测到这种情况.虽然从技术上讲它不是泄漏,但它与天真的具有相同的含义.这不仅仅是我自己的想法.您可以遇到使用垃圾收集语言编写的项目,但仍然提到在更改日志中修复内存泄漏.



2> truppo..:

分配的内存由于对其的引用已丢失而无法使用.


我喜欢它,但我认为它不太准确.即使在gc系统中,有时也会将事物称为"泄漏",因为尽管内存仍然可以访问,但它"不应该",因为它不再需要.
我认为不需要/使用的内存与内存泄露之间存在明显差异.
我认为这是最好的 - 即使在使用垃圾收集的语言中,也可能丢失对内存的引用.
您不必丢失对内存的引用以进行泄漏.如果你不再需要内存但你无法解除分配,即使你保留了对它的引用,这也是我书中的内存泄漏.

3> Brian Gianfo..:

定义:分配后无法释放内存

Mozilla有一个很好的页面用于跟踪内存泄漏的工具.



4> Joseph Ferri..:

分配内存资源的过程,一旦不再需要就不能正确发布,通常是通过错误的编码实践引入的.

虽然避免使用它们的最佳方法是通过努力观察代码执行路径和代码审查,但有些语言内置了一些方法来帮助防止它们.保持方法的简洁和独特的目的有助于保持资源使用的严格范围,并且不太容易在混乱中丢失.

推荐阅读
郑小蒜9299_941611_G
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有