(computing) a systems routine for eliminating invalid or out-of-date data and releasing storage locations
(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.
- Garbage down
verb phrase To eat; have a meal; chow down (WWII Navy)
- Garbage furniture
Related Terms street furniture Related Terms put it on the street, work both sides of the street
- Garbage habit
noun phrase The taking of narcotics in medleys and mixes: an increase in the garbage habit, where people mix a variety of drugs to achieve a high (1970s+ Narcotics)
- Garbage head
noun phrase A person who mixes various narcotics (1970s+ Narcotics)