Параллельные параметры алгоритма и развертки

Я изо всех сил пытаюсь понять и получить более подробную информацию о шагах, связанных с циклами сбора данных CMS.

  • Начальная отметка
  • Параллельный знак
  • Параллельная предварительная очистка
  • Re-метка
  • Параллельная развертка
  • Параллельный Reset

Эти шаги объясняются во множестве мест в очень короткие сроки. Но если я должен описать их в классе с диаграммами и psuedo-примерами, где я могу получить эту информацию из?

PS - Я много раз искал в Google, он подбрасывает множество текстовых материалов и жаргонов, которые я понимаю. Но я ищу более анимированное объяснение, чтобы я мог преподавать свою аудиторию.

Это некоторые из популярных ссылок, третий был очень перспективным, но он не смог объяснить CMS в частности


Дорогой, спасибо за комментирование и указание на некоторые ресурсы. Я попытался создать визуальное представление шагов CMS, можете ли вы сообщить мне, если это соответствует вашему пониманию?

Также мне кажется, что отсутствует этап сжатия, какой шаг он принадлежит?

Ответ: Хорошо, поэтому CMS не обрабатывает уплотнение, а делегируется полному GC.

Stages of CMS GC

Ответы

Ответ 1

Для меня

http://insightfullogic.com/blog/2013/may/7/garbage-collection-java-3

со своими предшественниками

http://insightfullogic.com/blog/2013/feb/20/garbage-collection-java-1
http://insightfullogic.com/blog/2013/mar/6/garbage-collection-java-2

дал понять. Я забыл, что я также прочитал ссылки, упомянутые выше @gap_j, которые тоже очень хороши.

Вы спросили, где находится этап сжатия, но у CMS его нет. Это может привести к его собственным проблемам, в частности, это может увеличить затраты на выделение памяти (поскольку JVM должен использовать список для отслеживания свободной памяти и не может просто выделить память с конца занимаемого пространства) и иногда это может означать фрагментированную кучу.

Ответ 2

Начиная с java 1.5, есть еще одна фаза, которая пропущена - это "одновременный прерывистый прелеан". Цель состоит в том, чтобы отложить это замечание до тех пор, пока в пространстве Эдена не будет достигнуто желаемое заполнение.

Кроме того, вы в значительной степени находитесь на пути.

Я предлагаю вам посмотреть этот старый документ оракула gc и этот шаг пошаговое описание журналы CMS gc. Он подтверждает шаги, которые вы поместили в изображения.

Это сообщение в блоге хорошо описывает ситуацию.