The value of garbage collection (GC) to the discipline of software engineering is established. The definitions of the fundamental
GC terms are given. Thereafter, the three major GC
algorithms are
discussed and graphically represented. Basic differences and similarities among the algorithms are considered. The two major GC optimization techniques and their historical origins are discussed. The paper includes diagrams.