The Java language provides some built-in routines for controlling garbage collection: the methods System.gc() and System.runFinalization(). System.gc() requests that garbage collection be run. System.runFinalizers() asks that finalizers be executed, but that memory is not necessarily freed.