java - ¿Cómo puede Garbage Collector saber rápidamente qué objetos ya no tienen referencias a ellos?

Entiendo que en Java, si un objeto ya no tiene ninguna referencia a él, el recolector de basura lo recuperará algún tiempo después.

Pero, ¿cómo sabe el recolector de basura que un objeto tiene o no referencias asociadas a él?

¿El recolector de basura utiliza algún tipo de hashmap o tabla?

Editar:

Tenga en cuenta que no estoy preguntando cómo funciona generalmente gc. Realmente, no estoy preguntando eso.

estoy preguntandoespecíficamente que How gc sabe qué objetos están vivos y cuáles están muertos, con eficiencia.

¿Es por eso que en mi pregunta es que gc mantiene algún tipo de hashmap o conjunto, y actualiza constantemente la cantidad de referencias que tiene un objeto?

Respuestas a la pregunta(3)

Su respuesta a la pregunta