Shenandoah GC
Shenandoah ist ein Garbage Collector der Java Virtual Machine mit geringer Pausenzeit. Er reduziert die GC-Pausenzeiten, indem er mehr Garbage-Collection-Arbeiten gleichzeitig mit dem laufenden Java-Programm durchführt. Dies schließt die gleichzeitige Defragmentierung des Arbeitsspeichers (KOMPAKT) ein. Daher sind seine Pausenzeiten nicht mehr direkt proportional zur Größe des Heaps. Dies ist wichtig für Anwendungen mit großem Arbeitsspeicherbedarf, z.B. für Big Data.
Shenandoah GC wurde erstmals 2014 von Red Hat als Teil des OpenJDK als JEP 189[1] vorgeschlagen. Oracle lehnte die Entwicklung ab, aber Red Hat setzte die Entwicklung als Teil des IcedTea-Java-Projekts fort. Shenandoah implementiert einen neuen Algorithmus, der eine Heap-Defragmentierung ermöglicht, während die Java-Threads nur kurz für das Root-Scanning angehalten werden.
In Java 12 wurde Shenandoah GC ein experimentelles Feature.
In Java 15 wurde es als JEP 379[2] produktionsreif.
Siehe auch[Bearbeiten]
Weblinks[Bearbeiten]
- OpenJDK Wiki Shenandoah GC
- JavaOne 2015 - Christine Flood - Shenandoah: An Ultralow-Pause-Time Garbage Collector for OpenJDK
- Performance evaluation of Java garbage collectors for large heap transaction based applications
- Understanding the JDK’s New Superfast Garbage Collectors
- Shenandoah und ZGC: Weniger Pausenzeiten bei der Garbage Collection
Einzelnachweise[Bearbeiten]
Diese artikel "Shenandoah GC" ist von Wikipedia The list of its authors can be seen in its historical and/or the page Edithistory:Shenandoah GC.