发展历程 什么是垃圾回收(gc)? -技术百科的定义

什么是垃圾回收(gc)? -技术百科的定义

目录:

Anonim

定义-垃圾回收(GC)是什么意思?

垃圾回收(GC)是一种用于自动内存管理和堆分配的动态方法,该方法可处理和识别死内存块并重新分配存储以供重用。 垃圾回收的主要目的是减少内存泄漏。

GC的实现需要三种主要方法,如下所示:

  • 标记并清除-当内存用尽时,GC会找到所有可访问的内存,然后回收可用的内存。
  • 引用计数-分配的对象包含引用编号的引用计数。 当内存计数为零时,该对象是垃圾,然后被销毁。 释放的内存返回到内存堆。
  • 副本收集-有两个内存分区。 如果第一个分区已满,GC将查找所有可访问的数据结构并将其复制到第二个分区,从而在GC处理之后压缩内存并允许连续的空闲内存。

带有内置GC的某些编程语言和平台(例如Java,Lisp,C#和.Net)可以自我管理内存泄漏,从而实现更高效的编程。

Techopedia解释了垃圾收集(GC)

垃圾回收的自动堆分配的动态方法解决了常见且代价高昂的错误,这些错误在未被发现时通常会导致现实世界中的程序缺陷。

由于难以识别和修复它们,因此分配错误的代价很高。 因此,许多人认为垃圾回收是一种基本的语言功能,它通过较低的手动堆分配管理使程序员的工作更加轻松。 但是,GC并不完美,应该考虑以下缺点:

  • 释放内存时,GC会消耗计算资源。
  • GC过程是不可预测的,从而导致分散的会话延迟。
  • 如果未手动处理未使用的对象引用,则GC会导致逻辑内存泄漏。
  • GC并不总是知道何时在现代台式计算机的虚拟内存环境中进行处理。
  • GC进程与缓存和虚拟内存系统的交互很差,从而导致性能调整困难。
该定义是在通用编程的背景下编写的
什么是垃圾回收(gc)? -技术百科的定义