2 Punkte von GN⁺ 2025-12-24 | 1 Kommentare | Auf WhatsApp teilen
  • Ein Fachbuch, das die Prinzipien der automatischen Speicherverwaltung systematisch behandelt und Garbage-Collection-Algorithmen in modernen Hardware- und Softwareumgebungen umfassend erklärt
  • Die 2. Auflage, erschienen nach 1996 und 2012, integriert Forschungs- und Entwicklungsergebnisse aus den vergangenen 60 Jahren
  • Enthält moderne Hochleistungs-Collector-Techniken wie parallele, inkrementelle, nebenläufige und Echtzeit-Sammlung und stellt die Algorithmen mit Pseudocode und Abbildungen konkret dar
  • Neue Kapitel zu Persistenz und energiebewusster Sammlung wurden hinzugefügt; außerdem ist das Buch mit einer Datenbank von mehr als 3.400 einschlägigen Fachartikeln verknüpft
  • Da die meisten modernen Programmiersprachen Garbage Collection einsetzen, ist es ein unverzichtbares Nachschlagewerk für Entwickler, um die geeignete Auswahl und Konfiguration von Collectors zu verstehen

Überblick über die 2. Auflage

  • Als Nachfolger von Garbage Collection (1996) und The Garbage Collection Handbook (2012) bildet es den aktuellen Stand des Gebiets der automatischen Speicherverwaltung ab
    • Berücksichtigt, dass Speicherverwaltung durch den technologischen Fortschritt komplexer und wichtiger geworden ist
    • Integriert das in den vergangenen 60 Jahren von Forschern und Entwicklern aufgebaute Wissen in einen zugänglichen Rahmen
  • Behandelt die neuen Herausforderungen, die Hardware- und Softwareentwicklungen für Garbage Collection geschaffen haben
    • Untersucht, wie sich veränderte Programmausführungsumgebungen auf Entwurf und Implementierung von Hochleistungs-Collectoren auswirken
    • Umfasst nicht nur einfache und traditionelle Algorithmen, sondern auch parallele, inkrementelle, nebenläufige und Echtzeit-Sammlung
    • Algorithmen und Konzepte werden mit Pseudocode und Abbildungen erläutert

Hauptmerkmale des Buches

  • Bietet einen vollständigen und aktuellen Nachfolger der Ausgaben von 1996 und 2012
  • Behandelt Algorithmen für parallele, nebenläufige und Echtzeit-Sammlung umfassend
  • Erklärt die Arbeitsweise kommerzieller Hochleistungs-Collector im Detail
  • Behandelt komplexe Schnittstellenprobleme mit Laufzeitsystemen
  • Enthält über 90 zusätzliche Seiten sowie neue Kapitel zu Persistenz und energiebewusster Sammlung
  • Verknüpft mit einer Datenbank von rund 3.400 einschlägigen Fachartikeln

E-Book und Übersetzungen

  • Das E-Book liegt in einer erweiterten Form gegenüber der Druckausgabe vor und enthält mehr als 37.000 Hyperlinks
    • Verweise auf Kapitel, Abschnitte, Algorithmen, Abbildungen, Glossar, Index und Forschungsarbeiten
  • 2016 erschienen chinesische und japanische Übersetzungen, wodurch der Leserkreis erweitert wurde

Web-Ressourcen

  • Die Online-Bibliografiedatenbank enthält etwa 3.400 wissenschaftliche Arbeiten zur Garbage Collection
    • Einige Einträge enthalten Zusammenfassungen, die meisten bieten URLs oder DOIs
    • Sie wird fortlaufend aktualisiert und kann in den Formaten BibTeX, PostScript und PDF heruntergeladen werden

1 Kommentare

 
GN⁺ 2025-12-24
Hacker-News-Kommentare
  • Meine liebste Anekdote über Garbage Collection steht in diesem Artikel

    • Ich habe gehört, dass anderswo ähnliche Ansätze verwendet werden. Bei der Standard Missile wird zum Beispiel die Hydraulikflüssigkeit nicht umgewälzt, sondern im Flug einfach ausgestoßen – eine wirklich coole technische Lösung
    • Man könnte das als eine Art region-basierter Speicher-Allocator bezeichnen. Der einzige Unterschied ist, dass es genau eine Region gibt
    • Das ist ein ziemlich standardmäßiger Ansatz. Entscheidend ist nicht eine Null-GC, sondern per statischer Analyse den exakten Speicherbedarf nachzuweisen
    • Diese Geschichte ist eine gute Lektion, die ich Kollegen oft erzähle. Sie zeigt, dass man zwar perfekte Software bauen möchte, die realen Geschäftsanforderungen das aber nicht zwingend verlangen
    • Das würde ich die wahre ultimative Garbage-Collection-Technik nennen
  • Ich wünschte, im Buch stünde, welche Production-GCs die Autoren tatsächlich gebaut haben. In der realen Welt gibt es viele nicht intuitive Beispiele, von denen man lernen kann, daher wäre ein Buch mit solchen Inhalten deutlich interessanter und nützlicher

  • Wirklich ein großartiges Buch. Dazu gab es auch schon eine frühere Diskussion: Link zur früheren Diskussion

  • Im Buch gibt es wohl einen kurzen Abschnitt über Echtzeit-GC; ich frage mich, wie viel Gewicht auf GC in eingeschränkten Umgebungen gelegt wird
    Ich hatte schon länger den Impuls, einmal ein 3D-AA-Spiel mit GC zu bauen. Solange die Plattform nicht extrem ressourcenbeschränkt ist, halte ich das für gut machbar
    Jetzt habe ich beruflich etwas mehr Luft und überlege, diesen Winter und Frühling einen Prototypen zu bauen

    • Die meisten heutigen AA-Game-Engines verwenden bereits GC. Unreal und Unity sind typische Beispiele. Intern nutzen sie zwar auch manuelle Speicherverwaltung, aber die exponierten APIs sind mit Blick auf GC entworfen
      Godot Engine dagegen verwendet keine GC, sondern Referenzzählung. Da keine Erkennung zirkulärer Referenzen unterstützt wird, müssen alle Objekte in einer Baumstruktur angeordnet werden
    • Auch die Waffen-Zielsysteme von Kriegsschiffen der US Navy und ein französisches Raketenverfolgungssystem wurden mit Javas Echtzeit-GC gebaut.
      Weiterführendes Material: Thales-Fall, Aegis Combat System, USS-Bunker-Hill-Fall
      In der Praxis sind nicht alle GCs gleich, und so etwas wie „insert credit to continue“ gibt es nicht
    • Minecraft ist ebenfalls ein Indie-Spiel, das GC verwendet, und zugleich das meistverkaufte Spiel der Geschichte
    • Unreal Engine besitzt eine GC für den internen Objektgraphen, daher nutzen bereits viele Spiele GC
    • Unreal verwendet inkrementelle GC
  • Dieses Buch ist wirklich ein großartiges Nachschlagewerk. Jeder Engineer, der GC verwendet, sollte es lesen, und selbst wer keine GC braucht, profitiert sehr von den frühen Kapiteln über Speicher-Allocatoren

  • Ich habe dieses Buch auch. Es ist sehr gut geschrieben und sorgfältig gemacht, daher kann ich es nachdrücklich empfehlen

  • Ich hatte früher Unterricht bei Professor Hosking. Das war eine gute Erfahrung, und weil er dieses Buch geschrieben hat, habe ich es sofort gekauft
    Es ist keine Pflichtlektüre, aber es hat mir geholfen, die Designprobleme von GC und die Auswirkungen von Finalizern tiefgreifend zu verstehen. Beim Lesen dieses Teils hatte ich einige ziemlich große Aha-Momente

  • Ich wünschte, es gäbe einen „buy now“-Button, mit dem man die Druckausgabe zusammen mit der EPUB-Datei kaufen kann. Die Website wirbt zwar für das Buch, aber der Kaufprozess ist viel zu umständlich