垃圾收集器

作者: Louise Ward
创建日期: 5 二月 2021
更新日期: 28 六月 2024
Anonim
42最牛的垃圾收集器 g1收集器详解
视频: 42最牛的垃圾收集器 g1收集器详解

内容

定义-垃圾收集器是什么意思?

垃圾收集器是一种执行自动内存管理的软件。它的工作是释放所有未使用的内存,并确保仍在使用中不释放任何内存。某些语言(例如Java和.NET语言)具有自动垃圾收集功能,而其他语言(例如C / C ++)则要求程序员手动管理内存。


Microsoft Azure和Microsoft Cloud简介在本指南中,您将了解什么是云计算,以及Microsoft Azure如何帮助您从云迁移和运行业务。

Techopedia解释了垃圾收集器

Lisp的创建者John McCarthy首先引入了垃圾回收,以简化使用Lisp语言时的手动内存管理。

垃圾收集器用来执行自动内存管理的三种主要技术如下:

  • 引用计数-使用计数器变量对每个对象的引用进行计数。当计数器达到零时,表示不再需要该对象,因此将其回收。
  • 标记和扫描-在所有数据区域上对所有可到达对象进行递归遍历,并标记可到达对象。然后将未标记的对象回收。
  • 停止并复制-内存堆分为两个部分:一个包含对象的部分和一个空部分,如果发现有标记,则将在其中传输(复制)对象。通过清空第一部分中未标记的对象,可以对其进行回收。

释放分配给指针/对象的内存块后,必须将指针/对象重置为空值;否则,返回零。否则,它就晃来晃去,即指向无效的内存块。

垃圾回收有助于减少由于指针悬空和内存泄漏问题而导致的错误和安全风险。

使用垃圾收集器的缺点包括资源和性能上的额外开销。运行垃圾收集器还会降低系统速度,从而降低其性能。