garbage collection

(redirected from Garbage collection (disambiguation))
Also found in: Dictionary, Thesaurus.

garbage collection

[′gär·bij kə‚lek·shən]
(computer science)
In a computer program with dynamic storage allocation, the automatic process of identifying those memory cells whose contents are no longer useful for the computation in progress and then making them available for some other use.
McGraw-Hill Dictionary of Scientific & Technical Terms, 6E, Copyright © 2003 by The McGraw-Hill Companies, Inc.

garbage collection

(programming)
(GC) The process by which dynamically allocated storage is reclaimed during the execution of a program. The term usually refers to automatic periodic storage reclamation by the garbage collector (part of the run-time system), as opposed to explicit code to free specific blocks of memory.

Automatic garbage collection is usually triggered during memory allocation when the amount free memory falls below some threshold or after a certain number of allocations. Normal execution is suspended and the garbage collector is run. There are many variations on this basic scheme.

Languages like Lisp represent expressions as graphs built from cells which contain pointers and data. These languages use automatic dynamic storage allocation to build expressions. During the evaluation of an expression it is necessary to reclaim space which is used by subexpressions but which is no longer pointed to by anything. This reclaimed memory is returned to the free memory pool for subsequent reallocation.

Without garbage collection the program's memory requirements would increase monotonically throughout execution, possibly exceeding system limits on virtual memory size.

The three main methods are mark-sweep garbage collection, reference counting and copying garbage collection.

See also the AI koan about garbage collection.
This article is provided by FOLDOC - Free Online Dictionary of Computing (foldoc.org)

garbage collection

(1) Garbage collection is a function of an operating system or programming language that reclaims memory no longer in use. For example, Java and .NET have built-in garbage collection, but C and C++ do not, and programmers have to write the code to allocate and deallocate, which is tedious and error prone. See dynamic memory allocation and memory allocation.

(2) In a flash memory-based solid state drive (SSD), the garbage collection function improves write speed by erasing blocks of unused storage in the background. Flash memory requires blocks to be erased before they can be written, and having empty blocks available saves time when writing new data on the drive. See TRIM support, flash memory and SSD.
Copyright © 1981-2019 by The Computer Language Company Inc. All Rights reserved. THIS DEFINITION IS FOR PERSONAL USE ONLY. All other reproduction is strictly prohibited without permission from the publisher.