Java Wochenrückblick #4: Confined-Memory-Pools beschleunigen Off-Heap um das 18-Fache, TornadoVM 7 nutzt FFM für GPU-Offloading, JDK 27.0.1 Patch bereit

Java · Weekly #4

Java Wochenrückblick #4: Confined-Memory-Pools beschleunigen Off-Heap um das 18-Fache, TornadoVM 7 nutzt FFM für GPU-Offloading, JDK 27.0.1 Patch bereit

javaJavaWochenrückblickOff-Heap-SpeicherGPU-heterogenes Computing

Quellen:GitHub Releases + 官方博客 + HN

📦 Versions-Updates

Die aktuellste allgemein verfügbare stabile Version ist OpenJDK JDK 27.0.1.0.3 GA Release Builds, die am 24. Oktober 2026 offiziell freigegeben wurde. Die vollständige Versionskennung lautet 27.0.1.0.3+1.

Ein Blick in die Release Notes zeigt, dass sich diese Wartungsaktualisierung vor allem auf Zertifikate und Zeitzonendaten konzentriert:

  1. Aktualisierung auf IANA-Zeitzonendaten 2026e zur Synchronisierung weltweiter Sommerzeitumstellungen.
  2. Gemäß Sicherheitsrichtlinie (JDK-8395690) wurden die abgelaufenen bzw. widerrufenen AAA-Root-Zertifikate von eMudhra und Comodo (Sectigo) aus dem integrierten cacerts-Truststore entfernt.
  3. Die offizielle Baseline-Mitteilung bestätigt, dass der Supportzyklus dieser Version bis zum nächsten geplanten Critical Patch Update (CPU) am 17. November 2026 reicht.

Der Entwicklungszweig JDK 28 befindet sich in der Early-Access-Phase; am 22. Oktober wurde Build 21 bereitgestellt. Zwei wesentliche Änderungen betreffen Build- und Netzwerksysteme:

  1. Entfernung der Systemeigenschaft jdk.net.useFastTcpLoopback (JDK-8394531). Da Microsoft den zugrundeliegenden Windows-Steuerungscode SIO_LOOPBACK_FAST_PATH offiziell als veraltet eingestuft hat, wurde der redundante Pfad in der JVM bereinigt.
  2. Einführung des jlink --security-properties props-Plugins (JDK-8377819). Dies erlaubt das direkte Überschreiben oder Erweitern von java.security-Eigenschaften bei der Erstellung individueller Laufzeit-Images und vereinfacht die Absicherung schlanker Container.
Plattform / VersionVeröffentlichungsdatumZentrale Neuerungen & MechanismenAuswirkungen auf die Produktion
OpenJDK JDK 27.0.1.0.32026-10-24IANA 2026e-Zeitzonen integriert; ungültige eMudhra/Comodo AAA Root-Zertifikate entfernt (JDK-8395690)Bannt Risiken durch gefälschte Zertifikate abgelaufener CAs; sichert Zeitstempelgenauigkeit im internationalen Zahlungsverkehr.
JDK 28 Early-Access (Build 21)2026-10-22Windows TCP-Loopback-Sonderpfad entfernt; Plugin jlink --security-properties hinzugefügtErmöglicht die Injektion von Sicherheitskonfigurationen in Minimal-Images ohne unsichere Klartext-Mounts im Host-Container.
Java SE 27 (GA Baseline)2026-09-15Standardmäßig aktiv: JEP 534 Compact Object Headers, JEP 523 G1 überall, JEP 527 Post-Quanten-Hybrid-TLS 1.3Reduziert den Heap-Bedarf um 15 % bis 20 %; verhindert das automatische Zurückfallen auf den Serial GC in kleinen Containern.

Weiterführende Details zum Speicheraufbau kompakter Objekt-Header in JDK 27, Tuning-Hinweise für G1 sowie Benchmarks finden Leser in unserem Schwerpunktartikel: JDK 27 im Detail.


📝 Vertiefende Einblicke

1. JDK 28 integriert Confined-Memory-Pools (PR #31365): 6- bis 18-mal geringere Latenz bei kleinen Off-Heap-Allokationen

  • Was ist passiert: Am 23. Oktober stellte Per Minborg aus dem OpenJDK-Panama-Kernteam eine Optimierung nativer Speicherpools für Confined Arenas vor, die in JDK 28 integriert wurde (PR #31365). Messungen zeigten, dass über 99,99 % aller kurzlebigen Gültigkeitsbereiche (Arena.ofConfined()) Allokationen von maximal 64 Byte durchführen – meist Puffer für Rückgabewerte von Systemaufrufen, errno und Zeiger. JDK 28 verwaltet nun pro Plattform-Thread bis zu vier 64-Byte-Pools bedarfsgesteuert.
  • Warum es wichtig ist: Der teure Overhead des Betriebssystem-Allokators und die Registrierung von Bereinigungsaktionen für Kleinstmengen an Off-Heap-Speicher entfallen komplett. Auf Apple-M4-Prozessoren sank die Latenz bei 5-Byte-Allokationen von 15,86 ns auf 1,05 ns (18,6-fache Beschleunigung); bei 20 Byte von 18,14 ns auf 1,14 ns (16,8-fache Beschleunigung). Unter Linux x64 wurden 6,8- bis 7,8-fache Verbesserungen gemessen, und auch virtuelle Threads erreichen nun 3,22 ns.
  • Wen es betrifft: Entwickler von Speicher- und Netzwerk-Middleware, die über Project Panamas Foreign Function & Memory (FFM) API moderne JNI-Alternativen bauen und direkt mit Systemaufrufen wie ioctl oder POSIX-Schnittstellen interagieren.

2. TornadoVM 7.3 veröffentlicht: Vollständige Migration zu Panama FFM und native cuTile/cuBLAS-Beschleunigung

  • Was ist passiert: Am 21. Oktober erschien Version 7.3 des Java-Heterogeneous-Computing-Frameworks TornadoVM. Das Release trennt sich vollständig von Legacy-JNI-Schichten und setzt stattdessen auf Javas offizielle FFM-API für die Hardware-Kommunikation. Zudem wurde das experimentelle JVMCI-Interface durch eine Architektur aus „Reflection + ASM + Unsafe“ ersetzt, was robuste Kompatibilität mit JDK 21, 25, 26 und 27 gewährleistet.
  • Warum es wichtig ist: Schließt die technologische Lücke zwischen Java-Anwendungen und modernen GPU-Recheneinheiten. TornadoVM 7.3 führt eine TileContext-Abstraktion für NVIDIA-Architekturen ein und unterstützt damit das cuTile-Kachel-Programmiermodell nativ. In TaskGraphs können lineare Algebra-Bibliotheken wie cuBLAS und CUTLASS flexibel mit JIT-Kernen kombiniert werden. Zudem wurden Apple Metal/MLX-Pipelines und Multi-GPU-Orchestrierung ausgebaut.
  • Wen es betrifft: Entwicklungsteams, die JVM-Workloads für lokales LLM-Inferencing, Bildverarbeitung oder hochvolumige Finanzrisikomodelle mit Hardware-Beschleunigern kombinieren.

3. Project Leyden AOT-Maschinencode-Kompilierung (JEP 544) offiziell als JDK 28-Ziel bestätigt

  • Was ist passiert: Am 25. Oktober bestätigte OpenJDK, dass JEP 544 (Ahead-of-Time Code Compilation) offiziell für JDK 28 eingeplant ist. JEP 544 erweitert den Application Class-Data Sharing Cache (AOT-Cache) grundlegend: C1- und C2-Compiler können während einer Offline-Trainingsphase (java -XX:AOTCacheOutput=app.aot) optimierten Maschinencode vorab kompilieren, der beim Produktionsstart (java -XX:AOTCache=app.aot) direkt in den Speicher gemappt und ausgeführt wird.
  • Warum es wichtig ist: Löst das Problem von CPU-Spitzen beim Kaltstart und horizontalen Skalieren von Microservices. Auf Dual-Core-Linux/x64-Systemen sank die Startzeit von Microservices mit vorkompiliertem Maschinencode um 65 % bis 80 %; der erste javac-Lauf verkürzte sich um 75 %. Sollten sich Workload-Annahmen im Betrieb ändern, deoptimiert die Runtime nahtlos zum Interpreter und stößt C2-Neukompilierungen an.
  • Wen es betrifft: Teams, die Microservices auf Kubernetes, Knative oder in Serverless-Umgebungen betreiben, sowie Entwickler latenzkritischer Handelssysteme.

4. Project Babylon stellt HAT-Toolkit vor: Automatische CUDA-Kernel-Generierung via Code Reflection

  • Was ist passiert: Am 20. Oktober präsentierte das Oracle-Compilerteam auf der Devoxx Belgium das Babylon-Teilprojekt HAT (Heterogeneous Accelerator Toolkit). Mithilfe der kommenden Code Reflection API analysiert HAT Java-Rechenlogik zur Laufzeit, extrahiert daraus introspektionsfähige Codemodelle und übersetzt diese automatisch in OpenCL- oder CUDA-Kernel.
  • Warum es wichtig ist: Durchbricht die historische Restriktion, dass Java Kontrollflusssemantiken innerhalb von Methodenrümpfen nicht reflektieren konnte. Entwickler können Tensor-Operationen in regulären Java-Schleifen formulieren; HAT übersetzt diese direkt in für GPU-Tensorkerne optimierte Speicherstrukturen. Auf der Konferenz gezeigte Demonstrationen mit NVIDIA Nsight Compute belegen die Praxisreife des Werkzeugs.
  • Wen es betrifft: Entwickler von Tensor-Engines und Ingenieure im Bereich des wissenschaftlichen Rechnens, die plattformunabhängige Hardware-Kernel-Abstraktionen anstreben.

🔥 Community-Diskussionen

1. r/java verhängt striktes Verbot für KI-generierten Code: Regel 9 entfacht Debatte über Foren-Governance

  • Kennzahlen: Erfahrungsbericht des langjährigen Java-Entwicklers Steve Hannah; die Hacker-News-Diskussion verzeichnete 28 Punkte und 86 Kommentare (50167524).
  • Hintergrund: Steve Hannah, Autor des Desktop-Deployment-Tools jDeploy, stellte im Subreddit r/java eine selbst entwickelte Swing-WebView-Komponente vor. Kurz darauf wurde er mit einem lebenslangen Bann (Lifetime Ban) belegt – unter Berufung auf Regel 9 (Rule #9: Strenges Verbot jeglicher Software oder Inhalte, die unter Zuhilfenahme von KI erstellt wurden).
  • Zentrale Streitpunkte:
    • Spamschutz- und Qualitätsbefürworter: Moderatoren und Unterstützer argumentieren, dass die Community seit dem KI-Boom von minderwertigen, ungetesteten Bibliotheken überschwemmt werde. Da ehrenamtliche Moderatoren nicht jeden Code aufwändig prüfen können, sei ein ausnahmsloses Verbot der einzige Weg, das technische Niveau der Diskussionen zu wahren.
    • Pragmatiker und Ergebnisorientierte: Kritiker halten dagegen, dass Open-Source-Software anhand von Testabdeckung, API-Design und Laufzeitstabilität beurteilt werden müsse – nicht danach, wer die Tasten bedient hat. Prominente Entwickler wie Linus Torvalds gaben unlängst an, KI bei der Erstellung von Java-GUI-Skripten genutzt zu haben; eine unüberprüfbare Herkunftskontrolle stoße verdiente Entwickler vor den Kopf.

2. Campfire-Portierung in Java schlägt Rust im Benchmark: JIT-Dynamik trifft auf statische AOT-Optimierung

  • Kennzahlen: Benchmark-Thread auf Reddit r/java; von Microsofts Principal Java PM Bruno Borges auf Hacker News geteilt (50152924).
  • Hintergrund: Nachdem 37signals erste Versuche unternahm, den Chat-Dienst Campfire in hardwarenahe Sprachen zu portieren, erstellten Entwickler eine alternative Version mit Java und Quarkus. Unter JDK 28 mit aktiviertem JEP 544 (AOT-Maschinencode-Cache) übertraf die Java-Variante in hochparallelen Lasttests den experimentellen Rust-Branch in puncto Durchsatz und p99-Latenz in ausgewählten Szenarien.
  • Zentrale Streitpunkte:
    • Moderne JVM-Fraktion: HotSpots dynamische Tiered Compilation, profilgesteuerte Optimierung (PGO) und spekulatives Inlining profitieren von 30 Jahren Entwicklungsarbeit. In langlebigen Web-Workloads übertreffen adaptive Optimierungen oft starre statische Compiler. Wenn JEP 544 nun auch die Kaltstartlücke schließt, kombiniert Java hohe Entwicklerproduktivität mit erstklassiger Skalierbarkeit.
    • Systementwickler und Benchmark-Skeptiker: Rust-Entwickler äußerten Zweifel an der Validität des Vergleichs und wiesen darauf hin, dass die Rust-Version weitgehend eine unidiomatische Direktübersetzung mit unnötigen Speicherkopien gewesen sei. Zudem bleibe der Resident-Set-Size-Speicherbedarf (RSS) und der Memory-Bandbreitenbedarf durch GC-Barrieren bei HotSpot konzeptionell höher als bei GC-freien Sprachen.

🔭 Vorschau auf nächste Woche

  • Vorbereitung auf das CPU-Release im November 2026: Oracles Sicherheitsfahrplan sieht das nächste reguläre Critical Patch Update für den 17. November 2026 vor. Infrastruktur-Teams sollten frühzeitig prüfen, ob die in JDK 27.0.1.0.3 vorgenommene Bereinigung der CA-Zertifikate interne PKIs oder Payment-Gateways berührt.
  • JDK 28 Build 22 Integrationsfenster: Die nächste Code-Konsolidierung wird für Donnerstag, den 29. Oktober, erwartet. Ein zentraler Fokus liegt auf den Regressionstests für JEP 535 (Generational Shenandoah GC standardmäßig aktiviert).