<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
	<id>https://doc.expert-apm.kz/index.php?action=history&amp;feed=atom&amp;title=%D0%A1%D0%B1%D0%BE%D1%80%D1%89%D0%B8%D0%BA_%D0%BC%D1%83%D1%81%D0%BE%D1%80%D0%B0_G1_-_Java_9</id>
	<title>Сборщик мусора G1 - Java 9 - История изменений</title>
	<link rel="self" type="application/atom+xml" href="https://doc.expert-apm.kz/index.php?action=history&amp;feed=atom&amp;title=%D0%A1%D0%B1%D0%BE%D1%80%D1%89%D0%B8%D0%BA_%D0%BC%D1%83%D1%81%D0%BE%D1%80%D0%B0_G1_-_Java_9"/>
	<link rel="alternate" type="text/html" href="https://doc.expert-apm.kz/index.php?title=%D0%A1%D0%B1%D0%BE%D1%80%D1%89%D0%B8%D0%BA_%D0%BC%D1%83%D1%81%D0%BE%D1%80%D0%B0_G1_-_Java_9&amp;action=history"/>
	<updated>2026-04-09T14:01:00Z</updated>
	<subtitle>История изменений этой страницы в вики</subtitle>
	<generator>MediaWiki 1.36.1</generator>
	<entry>
		<id>https://doc.expert-apm.kz/index.php?title=%D0%A1%D0%B1%D0%BE%D1%80%D1%89%D0%B8%D0%BA_%D0%BC%D1%83%D1%81%D0%BE%D1%80%D0%B0_G1_-_Java_9&amp;diff=2229&amp;oldid=prev</id>
		<title>Lobanov в 17:07, 24 ноября 2022</title>
		<link rel="alternate" type="text/html" href="https://doc.expert-apm.kz/index.php?title=%D0%A1%D0%B1%D0%BE%D1%80%D1%89%D0%B8%D0%BA_%D0%BC%D1%83%D1%81%D0%BE%D1%80%D0%B0_G1_-_Java_9&amp;diff=2229&amp;oldid=prev"/>
		<updated>2022-11-24T17:07:05Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;ru&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Предыдущая&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Версия 17:07, 24 ноября 2022&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l8&quot;&gt;Строка 8:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 8:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* алгоритм с эффективным использованием памяти может использоваться на старом поколении; время выполнения зависит от размера кучи, но максимально эффективно использует доступную память.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* алгоритм с эффективным использованием памяти может использоваться на старом поколении; время выполнения зависит от размера кучи, но максимально эффективно использует доступную память.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;A heap of such a collector would look like this&lt;/del&gt;:&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Куча такого коллектора будет выглядеть так&lt;/ins&gt;:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[[Файл:Heap-736-04799a203f.png|мини|468x468пкс]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;image&gt;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;По сравнению с большинством сборщиков мусора G1 имеет два основных преимущества:&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;По сравнению с большинством сборщиков мусора G1 имеет два основных преимущества:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l20&quot;&gt;Строка 20:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 23:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Куча G1 обычно выглядит так:&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Куча G1 обычно выглядит так:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[[Файл:G1 heap.png|мини]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;image&gt;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Разделение кучи на небольшие области позволяет G1 выбрать небольшую группу областей для быстрого сбора и завершения. Если регион запланирован для сбора, все уцелевшие объекты копируются из собранного региона в неназначенный регион. Предполагая, что собранная область была из пространства Эдема, неназначенная область, содержащая все выжившие объекты, становится оставшейся областью. В идеале, если регион заполнен мусором и не содержит ни одного уцелевшего объекта, его можно объявить «неназначенным», и с ним не будет производиться никакая работа.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Разделение кучи на небольшие области позволяет G1 выбрать небольшую группу областей для быстрого сбора и завершения. Если регион запланирован для сбора, все уцелевшие объекты копируются из собранного региона в неназначенный регион. Предполагая, что собранная область была из пространства Эдема, неназначенная область, содержащая все выжившие объекты, становится оставшейся областью. В идеале, если регион заполнен мусором и не содержит ни одного уцелевшего объекта, его можно объявить «неназначенным», и с ним не будет производиться никакая работа.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key ka_db:diff::1.12:old-100:rev-2229 --&gt;
&lt;/table&gt;</summary>
		<author><name>Lobanov</name></author>
	</entry>
	<entry>
		<id>https://doc.expert-apm.kz/index.php?title=%D0%A1%D0%B1%D0%BE%D1%80%D1%89%D0%B8%D0%BA_%D0%BC%D1%83%D1%81%D0%BE%D1%80%D0%B0_G1_-_Java_9&amp;diff=100&amp;oldid=prev</id>
		<title>IKolomin: Новая страница: «Виртуальная машина Oracle Java 9 Hotspot поставляется с GC Garbage First (G1) в качестве сборщика мусора по...»</title>
		<link rel="alternate" type="text/html" href="https://doc.expert-apm.kz/index.php?title=%D0%A1%D0%B1%D0%BE%D1%80%D1%89%D0%B8%D0%BA_%D0%BC%D1%83%D1%81%D0%BE%D1%80%D0%B0_G1_-_Java_9&amp;diff=100&amp;oldid=prev"/>
		<updated>2021-11-30T12:46:57Z</updated>

		<summary type="html">&lt;p&gt;Новая страница: «Виртуальная машина Oracle Java 9 Hotspot поставляется с GC Garbage First (G1) в качестве сборщика мусора по...»&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Виртуальная машина Oracle Java 9 Hotspot поставляется с GC Garbage First (G1) в качестве сборщика мусора по умолчанию. Этот сборщик мусора, впервые представленный в Java 7, может эффективно и одновременно обрабатывать очень большие кучи. Его также можно настроить так, чтобы не превышалось максимальное время паузы.&lt;br /&gt;
&lt;br /&gt;
Большинство современных сборщиков мусора классифицируют кучи на объекты молодого или старого поколения. Это происходит главным образом потому, что исследования реальных Java-приложений показали, что более 90% объектов не переживают свою первую сборку мусора. Более старые объекты, которые пережили несколько циклов сбора, как правило, остаются живыми и имеют 98% шанс на выживание. Сборщики мусора Java разделяют объекты молодого поколения на пространство выживших и пространство  Eden.&lt;br /&gt;
&lt;br /&gt;
Недавно размещенные объекты всегда размещаются в пространстве Eden. Как только объект переживает первую сборку мусора, он передается старшему поколению. Это сделано для того, чтобы:&lt;br /&gt;
&lt;br /&gt;
* алгоритм, эффективный во время выполнения, может быть использован для новых объектов; время выполнения зависит только от количества уцелевших объектов, но тратит впустую половину размера кучи.&lt;br /&gt;
* алгоритм с эффективным использованием памяти может использоваться на старом поколении; время выполнения зависит от размера кучи, но максимально эффективно использует доступную память.&lt;br /&gt;
&lt;br /&gt;
A heap of such a collector would look like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;image&amp;gt;&lt;br /&gt;
&lt;br /&gt;
По сравнению с большинством сборщиков мусора G1 имеет два основных преимущества:&lt;br /&gt;
&lt;br /&gt;
* он может работать одновременно, не останавливая потоки приложений&lt;br /&gt;
* он использует прерывистые пространства, что позволяет G1 эффективно обрабатывать очень большие кучи&lt;br /&gt;
&lt;br /&gt;
Благодаря тому, как он использует доступную кучу, G1 может одновременно собирать молодые и старые поколения. Вместо того, чтобы разделять кучу на 3 области: Eden, Survivor и old, она разбивает кучу на несколько крошечных областей, размер которых по умолчанию составляет 2 МБ. Каждому региону назначается пространство.&lt;br /&gt;
&lt;br /&gt;
Куча G1 обычно выглядит так:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;image&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Разделение кучи на небольшие области позволяет G1 выбрать небольшую группу областей для быстрого сбора и завершения. Если регион запланирован для сбора, все уцелевшие объекты копируются из собранного региона в неназначенный регион. Предполагая, что собранная область была из пространства Эдема, неназначенная область, содержащая все выжившие объекты, становится оставшейся областью. В идеале, если регион заполнен мусором и не содержит ни одного уцелевшего объекта, его можно объявить «неназначенным», и с ним не будет производиться никакая работа.&lt;br /&gt;
&lt;br /&gt;
Чтобы собрать всю кучу, G1 может выбрать любое количество или комбинацию регионов для сбора. Чтобы оптимизировать время сбора, он всегда выбирает области, заполненные или почти заполненные мусором, тем самым сводя к минимуму объем работы, необходимой для освобождения места в куче для последующего выделения. Другие сборщики мусора всегда собирают все поколение, поэтому их сложность во время выполнения зависит от общего размера кучи. В случае G1 это зависит от количества живых объектов, поскольку память может быть освобождена без обработки всего поколения. В идеале, когда куча достаточно велика, некоторые области всегда будут полностью заполнены мусором, что упростит их сбор.&lt;br /&gt;
&lt;br /&gt;
Кроме того, G1 может выполнять большую часть своей работы одновременно. В мире Java мы уже знаем о параллельных коллекциях из Concurrent Mark &amp;amp; Sweep GC (CMS). Однако CMS может одновременно собирать только старое поколение и по-прежнему должна останавливать приложение, чтобы собрать молодое поколение. Процесс проходит в следующие этапы:&lt;br /&gt;
&lt;br /&gt;
# '''Начальная отметка''' : G1 останавливает приложение только в начале сборки мусора, чтобы выполнить некоторую быструю бухгалтерию перед возобновлением работы приложения.&lt;br /&gt;
# '''Параллельная отметка''' :Пока приложение выполняется, сборщик мусора отслеживает все ссылки и отмечает жизненные объекты.&lt;br /&gt;
# '''Окончательная оценка''' : Приложение снова приостанавливается, и выполняется окончательная очистка.&lt;br /&gt;
# '''Эвакуация''': Выбирается и собирается несколько регионов.&lt;br /&gt;
&lt;br /&gt;
Поскольку фаза '''эвакуации''' выполняется быстро, особенно в случае больших куч, G1 обычно превосходит другие сборщики мусора с точки зрения времени приостановки выполняемого приложения.&lt;/div&gt;</summary>
		<author><name>IKolomin</name></author>
	</entry>
</feed>