Heim >php教程 >PHP开发 >Garbage Collector in JVM

Garbage Collector in JVM

高洛峰
高洛峰Original
2016-11-22 16:56:122030Durchsuche

Serieller Collector: Ein Single-Threaded-Collector der neuen Generation, der einen Kopieralgorithmus zum Recycling verwendet. Während der Garbage Collection werden alle Threads anderer Benutzer angehalten.

Serial Old Collector: Die Version der alten Generation von Serial, die den Mark-Clear-Algorithmus verwendet, ist ebenfalls ein Single-Threaded-Collector.

ParNew Collector: ParNew Collector ist eigentlich eine Multithread-Version von Serial. Zusätzlich zur Multithread-Garbage Collection sind der Rest einschließlich Sammlungsalgorithmen (Kopieralgorithmen), Objektzuordnungsregeln, Recyclingstrategien usw. vorhanden alles gleich wie Seriensammlung Das Gerät ist genau das gleiche.

Parallel-Scavenge-Kollektor: Es handelt sich um einen Kollektor der neuen Generation, der einen Kopieralgorithmus verwendet und ein paralleler Multithread-Kollektor ist. Dieser Kollektor wurde entwickelt, um den Durchsatz des Systems (laufende Benutzercodezeit / (Zeit bis) zu verbessern Führen Sie die Garbage Collection des Benutzercodes aus)), daher wird der Parallel Scavenger-Kollektor auch als „Durchsatz zuerst“-Kollektor bezeichnet.

Parallel Old Collector: Es handelt sich um die Version der alten Generation des Parallel Scavenge Collectors, die den „Mark-Clear“-Algorithmus verwendet.

CMS Collector: Legt besonderes Augenmerk auf die Reaktionsgeschwindigkeit von Benutzerdiensten und hofft, dass die Systempausenzeit so kurz wie möglich ist, um Benutzern ein besseres Erlebnis zu bieten. Gleichzeitige Sammlung, geringe Pause. Stattdessen wird ein „Mark-and-Sweep“-Algorithmus verwendet.

G1-Kollektor: eine der modernsten Technologien in der aktuellen Entwicklung der Kollektortechnologie

Parallele und gleichzeitige Methoden


Die übernommene Generational-Sammlung kann den gesamten GC-Heap unabhängig verwalten, ohne mit anderen Sammlern zusammenzuarbeiten.


Räumliche Integration: Insgesamt verwendet G1 den „Mark-Organize“-Algorithmus, jedoch von einem lokalen Perspektivisch basiert es auf dem „Kopieren“-Algorithmus. In jedem Fall bedeuten beide Algorithmen jedoch, dass der G1-Algorithmus keine Fragmentierung des Speicherplatzes erzeugt und nach der Sammlung regelmäßig verfügbaren Speicher bereitstellen kann.


Arbeitsschritte: gleichzeitige Endmarkierung;

Bemerkungen:

Parallelität: Der Garbage-Collection-Thread kann gleichzeitig mit dem Benutzer-Thread ausgeführt werden

Parallel: Es können mehrere Garbage-Collection-Threads vorhanden sein, aber der Benutzer Der Thread wartet zu diesem Zeitpunkt noch.


Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn