Müll-Erst-Sammler - Garbage-first collector

Der Garbage-First Collector ( G1 ) ist ein Garbage-Collection- Algorithmus , der in der Oracle HotSpot Java Virtual Machine (JVM) 6 eingeführt und ab 7 Update 4 unterstützt wird . Es war geplant, den Concurrent Mark Sweep Collector (CMS) in JVM 7 zu ersetzen und wurde in Java 9 zum Standard gemacht.

Müllsammler

Garbage-First (G1) Collector ist ein Garbage Collector im Server- Stil, der für Multiprozessoren mit großem Speicher ausgelegt ist und mit hoher Wahrscheinlichkeit ein weiches Echtzeitziel erreicht und gleichzeitig einen hohen Durchsatz erreicht . G1 sammelt bevorzugt Regionen mit den wenigsten Live-Daten oder "garbage first". G1 ist der langfristige Nachfolger von CMS. Whole-Heap-Operationen, wie die globale Markierung, werden gleichzeitig mit den Anwendungs- Threads ausgeführt , um Unterbrechungen proportional zur Heap- oder Live-Datengröße zu verhindern. Die gleichzeitige Markierung bietet sowohl die Vollständigkeit der Sammlung als auch die Identifizierung von Regionen, die für die Rückgewinnung durch Verdichtungsevakuierung reif sind. Diese Evakuierung wird auf Multiprozessoren parallel durchgeführt , um Pausenzeiten zu verkürzen und den Durchsatz zu erhöhen.

G1 wurde erstmals als experimentelle Option in Java SE 6 Update 14 eingeführt, wo es mit den folgenden zwei Befehlszeilenparametern aktiviert werden kann: -XX:+UnlockExperimentalVMOptionsund -XX:+UseG1GC Mit JDK 7 sollte G1 CMS in der Hotspot-JVM ersetzen. Es gibt zwei wesentliche Unterschiede zwischen CMS und G1. Der erste ist, dass G1 ein Verdichtungssammler ist . G1 verdichtet sich ausreichend, um die Verwendung feinkörniger freier Listen für die Zuordnung vollständig zu vermeiden, was Teile des Kollektors erheblich vereinfacht und potenzielle Fragmentierungsprobleme weitgehend eliminiert . Neben der Komprimierung bietet G1 mehr vorhersehbare Garbage-Collection-Pausen als der CMS-Collector und ermöglicht es Benutzern, ihre gewünschten Pausenziele festzulegen.

In Java 9 wurde G1 zum Standard-Garbage Collector, obwohl Google das bekannte CMS als Standard vorschlägt und behauptet, dass das modifizierte CMS, das es verwendet, besser abschneidet als G1. Seitdem hat Oracle den Durchsatz, die Latenz und den Speicherbedarf von G1 erheblich verbessert .

Verwandte Produkte

Garantiert Echtzeitverhalten auch bei der Garbage Collection erfordert eine Echtzeit - Garbage - Collector wie jene , die mit Sun kommen Java RTS oder IBM ‚s WebSphere RT.

Siehe auch

Verweise

Externe Links