A periodic process that aims to reclaim memory allocated to a program. Its idea is to simplify memory management.

Garbage collection is done manually in C. Java has very good default garbage collection