内存泄漏,为什么不叫内存浪费

前言

今天在了解某DOM元素被删除后,如果js程序中还存在引用,会导致无法gc,造成内存泄漏问题,突然就很好奇为什么不叫内存浪费?当然…有了疑惑就要去解决嘛~.~,google了一下感觉下面的这个观点分析的挺有道理的

从主观上来说:

  • 是希望回收这些内存的

从客观上来说:

  • 这些内存没有回收到,所以,不能算是浪费,只能是泄露
  • 浪费更多的是主观上不愿意回收造成的,而泄露是想回收而不得。

内存泄露 和 内存溢出


注:既然了解了内存泄漏,出于好奇心(艹…你怎么那麽多好奇心???),又顺理成章的了解了内存溢出

相关文章

内存泄漏:
内存泄漏是程序申请的内存空间没有释放掉,造成进程越来越慢的影响(某个量级下)。慢的原因是,它申请的内存越来越多,没有释放掉内存,而操作系统对进程的内存占用有限制。操作系统会将大的进程置换到磁盘去,换到磁盘去就导致速度慢了,主要是磁盘的速度跟不上。

虚拟内存的存在意义:(涨知识了哈。。。)
虚拟的内存,不是真实占用这么多物理内存,而是需要申请更多内存 。操作系统只能将这样的进程换到虚拟内存中去,虚拟内存就是在磁盘的空间。
内存溢出:
内存溢出直白的说就是装水的容器不够用,而导致多余的水溢出来了(内存溢出常见的一种情况是调用栈溢出),如:栈中的数据增大将栈顶的数据挤出