Young generation collectors
Copy (enabled with -XX: + UseSerialGC)
sequential copy collector, uses one stream to copy the surviving objects from Eden to Survivor and between the spaces left alive until it decides that they were there long enough, and at that moment he copies them to the old generation.
PS Scavenge (enabled using -XX: + UseParallelGC)
a parallel garbage collector, like a copy collector, but uses several threads in parallel and has some idea of โโhow the old generation is collected (essentially written to work with the serial and old PS generator collectors).
ParNew (included with -XX: + UseParNewGC)
a parallel copy collector, for example, a Copy collector, but uses several threads in parallel and has an internal โcallbackโ, which allows the old generation collector to work with objects that it collects (in fact, work with a parallel collector is written).
G1 Young generation (included with -XX: + UseG1GC)
the first garbage collector, uses the "Garbage First" algorithm, which splits a bunch into many small spaces, but they are still divided into the spaces of Eden and the Survivor in the younger generation for G1.
Old Generation Collectors
MarkSweepCompact (enabled using -XX: + UseSerialGC)
the collector of serial tags, dad of all of them, uses a serial (one thread) complete algorithm for garbage collection, compaction.
PS MarkSweep (enabled with -XX: + UseParallelOldGC)
parallel labeling collector, parallel version (i.e. uses multiple threads) MarkSweepCompact.
ConcurrentMarkSweep (enabled using -XX: + UseConcMarkSweepGC)
parallel collector, a garbage collection algorithm that attempts most of the garbage collection in the background to stop application threads during operation (there are still phases where it should stop application threads, but these steps were tried to minimize). Please note that if the parallel collector cannot handle the debris, it does not fit the serial MarkSweepCompact for the (only) next GC.
G1 mixed generation (included with -XX: + UseG1GC)
the first garbage collector, uses the "First Garbage" algorithm, which is split into lots of small spaces.