标签:#自动内存管理

共 4 篇文章

垃圾回收 (計算機科學)

在計算機科學中,垃圾回收(,縮寫為GC)是指一種自動的記憶體管理機制。当某个程序占用的一部分内存空间不再被这个程序访问时,这个程序会借助垃圾回收算法向操作系统归还这部分内存空间。垃圾回收器可以减轻程式員的負擔,也減少程序中的错误。垃圾回收最早起源于LISP语言。目前許多語言如Smalltalk、Java、C#、Go和D语言都支援垃圾回收器。 原理 垃圾回收器有兩個基本的原理: #考慮某個物件在未来的程式執行中,將不會被存取。 #回收這些…

Cheney算法

Cheney算法,最初由C.J. Cheney在1970年ACM论文中描述,它是计算机软件系统中追踪垃圾回收的一种“停止并复制”方法。在这种方案中,堆被划分成相等的两半,在任何时刻都只有其中一个在使用中。进行垃圾回收的方式为,通过将存活对象从一个半空间(semispace)即“来自”空间(from-space),复制到另一个半空间即“去至”空间(to-space),它接着成为新堆,而整个旧堆一次性丢弃。 简介 Cheney算法收回如下项…

引用计数

引用计数(,RC)是计算机编程语言中的一种内存管理技术,是指将资源(可以是对象、内存或磁盘空间等等)的被引用次数保存起来,当被引用次数变为零时就将其释放的过程。使用引用计数技术可以实现自动资源管理的目的。同时引用计数还可以指使用引用计数技术回收未使用资源的垃圾回收算法。 当创建一个对象的实例并在堆上申请内存时,对象的引用计数就为1,在其他对象中需要持有这个对象时,就需要把该对象的引用计数加1,需要释放一个对象时,就将该对象的引用计数减1…

貝姆垃圾收集器

Boehm-Demers-Weiser garbage collector,也就是著名的Boehm GC,是計算機應用在C/C++語言上的一個保守的垃圾回收器,可應用於許多經由C/C++開發的專案,同時也適用於其它執行環境的各類程式語言,包括了GNU版Java編譯器執行環境,以及Mono的Microsoft .NET移植平台。同時支援許多的作業平台,如各種Unix作業系統,微軟的作業系統(Microsoft Windows),以及麥金塔…