Параллельные параметры алгоритма и развертки
Я изо всех сил пытаюсь понять и получить более подробную информацию о шагах, связанных с циклами сбора данных 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. Он подтверждает шаги, которые вы поместили в изображения.
Это сообщение в блоге хорошо описывает ситуацию.