Heim >Java >javaLernprogramm >Arten von Garbage Collector in Java
Die Typen der Java-Garbage Collectors definieren den Typ, den wir zum Entwickeln des Programms verwenden. Garbage Collection ist eine wichtige Funktion von Java. In Java verwenden wir die Garbage Collection, um nicht mehr verwendeten Speicher freizugeben. Der Garbage Collector verfolgt alle Objekte, die noch verwendet werden, und markiert die restlichen Objekte als Müll. Der Garbage Collector verwendet den Sweep-and-Mark-Algorithmus.
In Java ist Garbage Collection nichts anderes als die Verwaltung des Speichers; Wir machen dasselbe, indem wir JVM verwenden. Durch die Verwendung der Garbage Collection müssen wir die Zuweisung und Freigabe eines Objekts nicht mithilfe eines Programmierers durchführen. In Java reserviert und gibt die Anwendung Speicher frei, indem sie das Betriebssystem verwendet, und wir stellen dasselbe aus der Anwendung und der Speicherbereinigung neuer Variablen bereit.
Starten Sie Ihren kostenlosen Softwareentwicklungskurs
Webentwicklung, Programmiersprachen, Softwaretests und andere
Java bietet mehrere Garbage Collectors, die den unterschiedlichen Anforderungen der Anwendung gerecht werden. Die Auswahl des richtigen Garbage Collectors für unsere Anwendung ist sehr wichtig, um die Leistung unserer Anwendung zu verbessern. Java bietet mehrere Arten von Garbage Collectors, um den Anforderungen der Anwendung gerecht zu werden.
Unten sind die Arten von Java-Garbage Collectors aufgeführt.
Wir verwenden diese Typen gemäß unseren Anforderungen wie folgt:
Die Arbeitsweise und Leistung jedes Garbage Collectors ist unterschiedlich; es enthält ihre eigenen Vor- und Nachteile. Mit Java können wir jeden Garbage Collector auswählen, der von der JVM verwendet wird. Zum Zeitpunkt der Auswahl des Garbage Collectors müssen wir die Argumente von JVM übergeben.
Dieser Garbage Collector arbeitet, während er alle Threads der Anwendung hält. Wir können also sagen, dass Threads unserer Anwendung durch den Prozess des seriellen Garbage Collectors einfrieren. Dieser Prozess wird als Welt- und Stoppereignis bezeichnet. Um den Einsatz eines seriellen Garbage Collectors in der Serverumgebung zu ermöglichen, können wir diesen in einfachen Programmen verwenden.
Um den seriellen Garbage Collector zu verwenden, müssen wir –XX:+UseSerialGC im Argument der JVM ausführen. Wir können dies zum Zeitpunkt der Verwendung eines seriellen Garbage Collectors angeben.
Der einzige Unterschied zwischen paralleler und serieller GC besteht darin, dass parallele GC mehrere Threads verwendet, während serielle GC nur einen einzelnen Thread verwendet. Wir verwenden paralleles GC, um den Durchsatz unserer Anwendung zu beschleunigen; Dies wird auch als Durchsatzkollektor bezeichnet.
Um den parallelen Garbage Collector zu verwenden, müssen wir –XX:+UseParallelGC im Argument von JVM verwenden. Parallele und serielle Garbage Collectors sind bei der Entwicklung von Java-Anwendungen unerlässlich.
In CMS GC verwenden wir mehrere Threads, die für den Heap und das Scannen verwendet wurden, was die Entfernung markierter Instanzen markiert. Diese Art von GC friert den Anwendungsthread zum Zeitpunkt der GC nicht ein. Der Thread des Garbage Collectors wird gleichzeitig mit den Anwendungsthreads ausgeführt.
Mit diesem Garbage Collector können wir mehrere CPUs für einen besseren Durchsatz unserer Anwendung verwenden. Wir verwenden CMS GC, wenn wir mehr CPU zur Verfügung haben. Um dann den CMS-Garbage Collector zu verwenden, müssen wir –XX:+UseParNewGC im Argument von JVM verwenden. Wir verwenden dieses Java Virtual Machine-Argument, wenn wir diesen Garbage Collector verwenden.
Der G1 Garbage Collector wird verwendet, wenn wir mehr als 4 GB Speicher enthalten. Dieser GC unterteilt den Heap in gleich große Blöcke und führt die parallele Garbage Collection entsprechend der Priorität durch. Der G1-Garbage Collector zeigt die globale Markierungsphase.
Während der Markierungsphase sammelt dieser Garbage Collector die Informationen, die das Objekt des Garbage Collectors enthalten. Um dann den G1 Garbage Collector zu verwenden, müssen wir –XX:+UseG1GC im Argument von JVM verwenden.
Dies ist ein passiver oder nicht betriebsbereiter Garbage Collector. Dieser Garbage Collector reserviert den Speicher für die Anwendung, sammelt jedoch nicht die nicht verwendeten Objekte. Wenn die Anwendung den Heap erschöpft, wird die JVM heruntergefahren, sodass wir sagen können, dass dieser GC zulässt, dass die Anwendung nicht über genügend Speicher verfügt oder abstürzt.
Der Hauptzweck dieses Garbage Collectors besteht darin, die Leistung der Anwendung zu verwalten und zu messen. Dieser Garbage Collector enthält die komplexen Programme, die innerhalb des Programms ausgeführt wurden.
Dieser Garbage Collector führt die gesamte Arbeit gleichzeitig aus, ohne die Ausführung unserer Anwendungen zu stoppen. Dieser Garbage Collector verarbeitet einen Heap, der mehrere Terabyte groß ist.
Diese Art von Garbage Collector führt seinen Zyklus in Threads durch. Die Anwendung wird in einer durchschnittlichen Zeit von 1 MS unterbrochen.
Diese Art von Garbage Collector verwendet die Speicherbereiche, um zu verwalten, welche Objekte nicht mehr verwendet werden und welche zur Komprimierung bereit waren. Dieser Garbage Collector fügt den Weiterleitungszeiger zu jedem Heap hinzu, der den Kontrollzugriff auf das angegebene Objekt verwendet.
Im Folgenden finden Sie die Argumente für Java Virtual Machines. Wir verwenden diese Argumente in Garbage Collectors wie folgt.
Java bietet eine Vielzahl von Garbage Collectors, um den Anforderungen verschiedener Anwendungen gerecht zu werden. Die Auswahl des richtigen Garbage Collectors für unsere Anwendung zur Verbesserung ihrer Leistung ist von entscheidender Bedeutung. Der Typ des Java-Garbage Collectors definiert den Typ des Garbage Collectors, den wir bei der Entwicklung des Programms verwenden. Java verfügt über eine wichtige Funktion namens Garbage Collection.
Das obige ist der detaillierte Inhalt vonArten von Garbage Collector in Java. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!