Inhaltsverzeichnis
Wichtige Erkenntnisse
1. Serieller Garbage Collector
2. Paralleler Garbage Collector
3. CMS Garbage Collector
4. G1 Garbage Collector
5. Epsilon Garbage Collector
6. Z Garbage Collector
7. Shenandoah Garbage Collector
JVM-Argumente
Fazit
Heim Java javaLernprogramm Arten von Garbage Collector in Java

Arten von Garbage Collector in Java

Aug 30, 2024 pm 03:54 PM
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.

Arten von Garbage Collector in Java

Wichtige Erkenntnisse

  • Parallel GC in Java ist als Standard-Garbage Collector bekannt, der in JVM verwendet wird. Die Funktionsweise der parallelen GC ist die gleiche wie die der seriellen GC.
  • Der serielle Garbage Collector ist auf die Umgebungen von Single-Threaded abgestimmt. Es verwendet einen einzelnen Thread für GC.

Typen von Java Garbage Collectors

Unten sind die Arten von Java-Garbage Collectors aufgeführt.

Wir verwenden diese Typen gemäß unseren Anforderungen wie folgt:

  • Serieller Garbage Collector
  • Paralleler Garbage Collector
  • Gleichzeitiger Mark Sweep Garbage Collector
  • G1 Garbage Collector
  • Epsilon Garbage Collector
  • Z Garbage Collector
  • Shenandoah Müllsammler

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.

1. Serieller Garbage Collector

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.

2. Paralleler Garbage Collector

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.

3. CMS Garbage Collector

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.

4. G1 Garbage Collector

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.

5. Epsilon Garbage Collector

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.

6. Z Garbage Collector

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.

7. Shenandoah Garbage Collector

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.

JVM-Argumente

Im Folgenden finden Sie die Argumente für Java Virtual Machines. Wir verwenden diese Argumente in Garbage Collectors wie folgt.

  • –XX:ParallelGCThreads=: Dieses Argument steuert die Anzahl der GC-Threads.
  • –XX:MaxGCPauseMillis=: Dieses Argument gibt die maximale Pausenzeit an.
  • –XX:GCTimeRatio=: Dieses Argument gibt das maximale Durchsatzziel an.
  • –XX:+UseSerialGC: Dieses Argument gibt den seriellen Garbage Collector an.
  • –XX:+UseParallelGC: Dieses Argument gibt den parallelen Garbage Collector an.
  • –XX:+UseG1GC: Dieses Argument gibt den G1-Garbage Collector an.
  • –XX:+UseConcMarkSweepGC: Dieses Argument gibt den CMS-Garbage Collector an.
  • –XX:ParallelCMSThreads: Dieses Argument gibt den CMS-Kollektor und die Anzahl der Threads an, die wir verwenden.
  • -XX:InitiatingHeapOccupancyPercent=: Dieses Argument steuert die Heap-Belegung beim Starten des gleichzeitigen Zyklus.
  • -XX:G1MixedGCLiveThresholdPercent=: Wenn ein Live-Objekt in der alten Region vorhanden ist, schließt dieses Argument seinen Wert aus dem GC-Objekt aus.
  • -XX:G1HeapWastePercent=: Dieses Argument gibt die Anzahl der Regionen an, die verschwendet werden dürfen.

Fazit

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!

Erklärung dieser Website
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

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

<🎜>: Bubble Gum Simulator Infinity - So erhalten und verwenden Sie Royal Keys
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
Nordhold: Fusionssystem, erklärt
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
Mandragora: Flüstern des Hexenbaum
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

Java-Tutorial
1672
14
PHP-Tutorial
1277
29
C#-Tutorial
1257
24
PHP vs. Python: Verständnis der Unterschiede PHP vs. Python: Verständnis der Unterschiede Apr 11, 2025 am 12:15 AM

PHP und Python haben jeweils ihre eigenen Vorteile, und die Wahl sollte auf Projektanforderungen beruhen. 1.PHP eignet sich für die Webentwicklung mit einfacher Syntax und hoher Ausführungseffizienz. 2. Python eignet sich für Datenwissenschaft und maschinelles Lernen mit präziser Syntax und reichhaltigen Bibliotheken.

PHP: Eine Schlüsselsprache für die Webentwicklung PHP: Eine Schlüsselsprache für die Webentwicklung Apr 13, 2025 am 12:08 AM

PHP ist eine Skriptsprache, die auf der Serverseite weit verbreitet ist und insbesondere für die Webentwicklung geeignet ist. 1.PHP kann HTML einbetten, HTTP -Anforderungen und Antworten verarbeiten und eine Vielzahl von Datenbanken unterstützt. 2.PHP wird verwendet, um dynamische Webinhalte, Prozessformdaten, Zugriffsdatenbanken usw. mit starker Community -Unterstützung und Open -Source -Ressourcen zu generieren. 3. PHP ist eine interpretierte Sprache, und der Ausführungsprozess umfasst lexikalische Analyse, grammatikalische Analyse, Zusammenstellung und Ausführung. 4.PHP kann mit MySQL für erweiterte Anwendungen wie Benutzerregistrierungssysteme kombiniert werden. 5. Beim Debuggen von PHP können Sie Funktionen wie error_reporting () und var_dump () verwenden. 6. Optimieren Sie den PHP-Code, um Caching-Mechanismen zu verwenden, Datenbankabfragen zu optimieren und integrierte Funktionen zu verwenden. 7

Brechen oder aus Java 8 Stream foreach zurückkehren? Brechen oder aus Java 8 Stream foreach zurückkehren? Feb 07, 2025 pm 12:09 PM

Java 8 führt die Stream -API ein und bietet eine leistungsstarke und ausdrucksstarke Möglichkeit, Datensammlungen zu verarbeiten. Eine häufige Frage bei der Verwendung von Stream lautet jedoch: Wie kann man von einem Foreach -Betrieb brechen oder zurückkehren? Herkömmliche Schleifen ermöglichen eine frühzeitige Unterbrechung oder Rückkehr, aber die Stream's foreach -Methode unterstützt diese Methode nicht direkt. In diesem Artikel werden die Gründe erläutert und alternative Methoden zur Implementierung vorzeitiger Beendigung in Strahlverarbeitungssystemen erforscht. Weitere Lektüre: Java Stream API -Verbesserungen Stream foreach verstehen Die Foreach -Methode ist ein Terminalbetrieb, der einen Vorgang für jedes Element im Stream ausführt. Seine Designabsicht ist

Php gegen andere Sprachen: Ein Vergleich Php gegen andere Sprachen: Ein Vergleich Apr 13, 2025 am 12:19 AM

PHP eignet sich für die Webentwicklung, insbesondere für die schnelle Entwicklung und Verarbeitung dynamischer Inhalte, ist jedoch nicht gut in Anwendungen auf Datenwissenschaft und Unternehmensebene. Im Vergleich zu Python hat PHP mehr Vorteile in der Webentwicklung, ist aber nicht so gut wie Python im Bereich der Datenwissenschaft. Im Vergleich zu Java wird PHP in Anwendungen auf Unternehmensebene schlechter, ist jedoch flexibler in der Webentwicklung. Im Vergleich zu JavaScript ist PHP in der Back-End-Entwicklung präziser, ist jedoch in der Front-End-Entwicklung nicht so gut wie JavaScript.

PHP vs. Python: Kernmerkmale und Funktionen PHP vs. Python: Kernmerkmale und Funktionen Apr 13, 2025 am 12:16 AM

PHP und Python haben jeweils ihre eigenen Vorteile und eignen sich für verschiedene Szenarien. 1.PHP ist für die Webentwicklung geeignet und bietet integrierte Webserver und reichhaltige Funktionsbibliotheken. 2. Python eignet sich für Datenwissenschaft und maschinelles Lernen mit prägnanter Syntax und einer leistungsstarken Standardbibliothek. Bei der Auswahl sollte anhand der Projektanforderungen festgelegt werden.

Auswirkungen von PHP: Webentwicklung und darüber hinaus Auswirkungen von PHP: Webentwicklung und darüber hinaus Apr 18, 2025 am 12:10 AM

PhPhas significantantyPactedWebDevelopmentAndendendsbeyondit.1) iTpowersMAjorPlatforms-LikewordpressandExcelsInDatabaseInteractions.2) php'SadaptabilityAllowStoscaleForLargeApplicationsfraMe-Linien-Linien-Linien-Linienkripte

PHP: Die Grundlage vieler Websites PHP: Die Grundlage vieler Websites Apr 13, 2025 am 12:07 AM

Die Gründe, warum PHP für viele Websites der bevorzugte Technologie -Stack ist, umfassen die Benutzerfreundlichkeit, die starke Unterstützung der Community und die weit verbreitete Verwendung. 1) Einfach zu erlernen und zu bedienen, geeignet für Anfänger. 2) eine riesige Entwicklergemeinschaft und eine reichhaltige Ressourcen haben. 3) in WordPress, Drupal und anderen Plattformen häufig verwendet. 4) Integrieren Sie eng in Webserver, um die Entwicklung der Entwicklung zu vereinfachen.

PHP vs. Python: Anwendungsfälle und Anwendungen PHP vs. Python: Anwendungsfälle und Anwendungen Apr 17, 2025 am 12:23 AM

PHP eignet sich für Webentwicklungs- und Content -Management -Systeme, und Python eignet sich für Datenwissenschafts-, maschinelles Lernen- und Automatisierungsskripte. 1.PHP hat eine gute Leistung beim Erstellen von schnellen und skalierbaren Websites und Anwendungen und wird üblicherweise in CMS wie WordPress verwendet. 2. Python hat sich in den Bereichen Datenwissenschaft und maschinelles Lernen mit reichen Bibliotheken wie Numpy und TensorFlow übertrifft.

See all articles