[JAVA] [Veraltet] Erste Schritte mit GC und Speicherverwaltung für JVMs, die ich nicht verstanden habe

!! !! !! Ich habe an einigen Stellen einen Fehler gemacht und die überarbeitete Version neu geschrieben! !! !! Überarbeitete Edition Einführung in den GC-Mechanismus von JVM

Einführung

Es erwähnt den GC-Algorithmus und die Rolle jedes Bereichs im Heap-Bereich.

Es gibt verschiedene Arten von GC-Algorithmen. Die folgenden zwei sind die grundlegendsten.

Grundlegender Algorithmus

Mark & Sweep ist der Standard in Java

Maßnahmen gegen die Fragmentierung des Heap-Bereichs

Wenn der unnötige Bereich wiederholt freigegeben wird, wird der leere Bereich uneben und unflexibel. => Die Verarbeitungskosten für die Erstellung eines neuen Objekts steigen.

Daher werden die folgenden Algorithmen kombiniert.

** Aus diesem Grund gibt es im Heap-Bereich Von-Bereich und Bis-Bereich. ** **.

Bei der Verarbeitung von GC gibt es zwei große Herausforderungen

Um diese Probleme zu lösen, werden in der eigentlichen JVM Algorithmen wie die Generations-GC mit dem Basisalgorithmus (Mark & Sweep) kombiniert.

** Es gibt neue und alte im Heap-Bereich der JVM, der Teil davon ist. Dies soll den Umfang der GC einschränken und die Last durch den generativen GC-Algorithmus verteilen. ** **.

Referenz: GC nach Generation

Es gibt verschiedene Arten von JVM-Speicherbereichen, die auf dem GC-Algorithmus basieren.

Aus dem bisherigen Inhalt

Referenz

Java Heap Memory Management-Mechanismus

JVM-Optimierung

Beiseite

Ein Algorithmus namens Garbage First Garbage Collection kommt ...?

Recommended Posts

[Veraltet] Erste Schritte mit GC und Speicherverwaltung für JVMs, die ich nicht verstanden habe
Beginnen Sie mit der Funktionsweise von JVM GC
Erste Schritte mit Java_Kapitel 8_Über "Instanzen" und "Klassen"
Ich habe versucht, mit Gradle auf Heroku zu beginnen
Ich habe MySQL 5.7 mit Docker-Compose gestartet und versucht, eine Verbindung herzustellen
Lesen von Java Memory Management und GC Viewer
Erste Schritte mit DBUnit
Erste Schritte mit Ruby
Erste Schritte mit Swift
Erste Schritte mit Doma-Transaktionen
Ich habe das Verhalten von Java Scanner und .nextLine () nicht wirklich verstanden.
Erste Schritte mit Java und Erstellen eines Ascii Doc-Editors mit JavaFX
Erste Schritte mit Reactive Streams und der JDK 9 Flow API