В Java существуют специальные объекты, называемые Roots Collection Roots (корни GC). Они служат корневыми объектами для механизма маркировки мусора (см. Рисунок).
В этой статье описываются четыре типа корней GC:
- локальные переменные
- активные потоки
- статические переменные
- Ссылки JNI
Также упоминается, что:
сами классы могут быть собраны в мусор.
GC-корни не собираются, поэтому сами классы не являются корнями GC.
Итак, каковы корни GC для классов?