Concurrent mark-sweep: the collector runs in parallel with the program on a separate thread, with brief stop-the-world initial-mark and remark phases, write barriers, and floating garbage.

Gray (queue)
0
Black (marked)
0
Floating garbage
0
Phase
idle
white
gray
black
floating garbage
stop-the-world
concurrent (parallel)
SHARED HEAP TIMELINE (parallel threads)
What's happening
Step 1