Алгоритм пропускной способности модели множественных последовательных (тандемных) очередей

yes Java Сборщик мусора обрабатывает циркулярную ссылку!

How?

Существуют специальные объекты, называемые корнями сбора мусора (корни GC).

Простое Java-приложение имеет следующие корни GC:

  1. Локальные переменные в основном методе
  2. Основной поток
  3. Статические переменные основного класса

enter image description here [/g1]

Чтобы определить какие объекты больше не используются, JVM периодически запускает то, что очень точно называют алгоритмом маркировки и развертки. Он работает следующим образом

  1. Алгоритм проходит все ссылки на объекты, начиная с корней GC, и маркирует каждый найденный объект как живой.
  2. Вся память кучи, которая не является занятые отмеченными объектами.

Таким образом, если какой-либо объект недоступен из корней GC (даже если он является самореферентным или циклическим), он

Конечно, это может привести к утечке памяти, если программист забывает разыменовать объект.

enter image description here [/g2]

Источник: Управление памятью Java

0
задан LucasMation 29 March 2019 в 16:39
поделиться