Serial GC: This is the default GC algorithm in JDK 8. It is a simple, single-threaded, stop-the-world algorithm that uses a mark-sweep-compact approach. It is suitable for small applications or applications with a small amount of data.
Parallel GC: This is a multi-threaded GC algorithm that uses a similar approach to the Serial GC but with multiple threads to perform marking, sweeping, and compacting. It is suitable for applications that require higher throughput and can benefit from parallelism.
CMS GC: The Concurrent Mark Sweep (CMS) GC is a concurrent GC algorithm that performs garbage collection concurrently with the application’s execution. It uses a mark-sweep approach and is suitable for applications that require low latency and can tolerate some fragmentation.