The Z and Epsilon algorithms were introduced. Z had the objectives of reducing pauses and dealing with larger heaps. Most work is done in parallel. It works well, but it’s heavy on CPU usage.
Epsilon is a do-nothing garbage collector used purely for benchmarking. https://medium.com/@jill.thornhill/garbage-collection-in-different-java-versions-evolution-and-improvements-f7ca062d309c