Krypto-Wallets

JDK 24: Leistungssteigerungen und Innovationen für Java-Entwickler

Krypto-Wallets
Performance Improvements in JDK 24

JDK 24 bringt eine Vielzahl von Optimierungen und neuen Funktionen, die die Performance von Java-Anwendungen deutlich verbessern. Insbesondere Verbesserungen in den Kernbibliotheken, im Laufzeitsystem und bei Plattformunterstützungen sorgen für spürbare Geschwindigkeitszuwächse und geringeren Ressourcenverbrauch.

Java gehört seit vielen Jahren zu den wichtigsten Programmiersprachen weltweit. Mit der Veröffentlichung von JDK 24 setzt Oracle erneut Maßstäbe, wenn es um die Effizienz, Geschwindigkeit und Skalierbarkeit von Java-Anwendungen geht. Die neueste Version wartet mit einer ganzen Reihe von Performance-Verbesserungen auf, die sowohl Kernbibliotheken als auch Laufzeitumgebung und Plattform-spezifische Aspekte betreffen. Dabei gelang es den Entwicklern, das Java-Ökosystem noch leistungsfähiger und ressourcenschonender zu gestalten. Wer JDK 24 herunterlädt und einsetzt, wird feststellen, dass gerade bei datenintensiven, parallelen und startzeitkritischen Anwendungen bedeutende Vorteile entstehen.

Die folgenden Ausführungen geben einen umfassenden Überblick über die wichtigsten Neuerungen. Einen besonderen Fokus legt JDK 24 auf die Foreign Function & Memory API (FFM API), die in Java 22 eingeführt wurde und die Interaktion von Java-Code mit nativem Speicher und externen Funktionen revolutioniert hat. Unter dem sogenannten Umbrella Issue JDK-8340821 wurden diverse Optimierungen für Bulk-Operationen auf MemorySegments vorgenommen. Aufgaben wie das Befüllen, Kopieren oder die Suche nach Unterschieden in MemorySegment-Daten erfolgen jetzt wesentlich effizienter, indem der Systemübergang von Java zu nativem Code gezielt minimiert wird. Gerade bei kleinen Segmentgrößen wurde erkannt, dass die Kosten des Übergangs höher sind als der Nutzen.

Deshalb werden für kleinere Segmente Bulk-Operationen nun komplett in reinem Java ausgeführt, was die Latenz spürbar reduziert und die Ressourcenlast senkt. Die Schwelle für den Wechsel zur nativen Ausführung ist anpassbar, standardmäßig werden Segmente bis 64 Bytes in Java bearbeitet. Die Möglichkeit, diese Schwellenwerte via System-Properties zu konfigurieren, bietet Flexibilität für spezielle Anwendungsszenarien und Plattformen. Besonders auf der weit verbreiteten x64-Architektur sind deutliche Performance-Gewinne im Vergleich zu JDK 23 messbar. Die Strukturierung der Implementierung in der neu geschaffenen Klasse jdk.

internal.foreign.SegmentBulkOperation erlaubt eine effiziente Verarbeitung in großen Datenblöcken, ausgehend von 64-Bit-Operationen hinunter bis zu Byte-Operationen. Ein Blick auf den Quellcode zeigt, wie präzise und systematisch die Datenblöcke befüllt oder kopiert werden. Die JIT-Compiler-Technik C2 soll in Zukunft so erweitert werden, dass Auto-Vektorierung dieser Operationsschritte möglich wird und damit weitere Performance-Gewinne erreichbar sind.

Im Bereich der String-Verarbeitung hat JDK 24 die Strategie für String-Konkatenation über versteckte Klassen (Hidden Classes) grundlegend verbessert. Anstelle komplexer MethodHandle-Kombinatoren werden direkt generierte, aber entladbare Klassen erstellt, die wiederverwendbar sind. Dieser Ansatz verringert maßgeblich die Zahl erzeugter Klassen während der Laufzeit und senkt den Overhead durch unnötige MethodHandle-Instanzen. Besonders beim Starten von Programmen mit vielen String-Konkatenationen lassen sich so Startzeitverkürzungen von bis zu 40 Prozent erzielen, ohne dass sich die Spitzenleistung der Anwendung verschlechtert. Im Bereich der kryptographischen Funktionen wurde die SHA3-Algorithmus-Implementierung effizienter gestaltet, indem unnötige Umwandlungen zwischen Byte- und Long-Arrays reduziert wurden.

Die daraus resultierende Performance-Steigerung von bis zu 27 Prozent macht SHA3-basierte Anwendungen schneller. Für AArch64-Prozessoren sind darüber hinaus Intrinsics in Arbeit, die ähnliche Vorteile versprechen. Die Weiterentwicklung der ClassFile API hat ebenfalls positive Auswirkungen auf die Startzeit und Speicherverbrauch. Obwohl die Migration von der Third-Party-Bibliothek ASM zur nativen ClassFile API im JDK anfänglich zu einem gewissen Mehraufwand führte, konnten bereits in JDK 24 diverse Rückgänge in Startzeit und Speicherverbrauch ausgeglichen bzw. übertroffen werden.

Diese API ermöglicht ein konsistentes Bytecode-Generieren, das künftig auch von externen Anwendungen leichter genutzt werden kann. Ein weiterer Meilenstein für die Skalierbarkeit von Anwendungen ist die Einführung von JEP 491, die Synchronisation von virtuellen Threads ohne das bisherige sogenannte Pinning ermöglicht. Bisher wurden virtuelle Threads während der Synchronisation an ihre Träger-Threads gebunden, was die Parallelität einschränkte. Die neue Technik lässt blockierende virtuelle Threads ihre Träger-Threads freigeben, was die Effizienz und Parallelität von Programmen mit zahlreichen synchronisierten Abschnitten deutlich verbessert. Dadurch verlieren Locking-Mechanismen gegenüber Synchronisation an Bedeutung und das Java-eigene synchronisierte Schlüsselwort bekommt wieder mehr Relevanz.

Bei der Laufzeitoptimierung ist auch das Secondary Super Cache (SSC) bedeutend, eine Art Kurzzeitspeicher für Typ- und Subtypanfragen, die u.a. bei instanceof-Operationen genutzt wird. Frühere Versionen hatten mit großen Multithread-Umgebungen skalierende Probleme, da der Cache zu oft invalidiert wurde und durch Cache-Line-Ping-Ponging Performanceverluste entstanden. Die neue Implementierung verzichtet bei C2-kompiliertem Code auf den Ein-Element-Cache zugunsten einer Hash-Tabelle, die ruhiger neben laufenden Threads arbeitet und grundlegende Race Conditions vermeidet.

Die Folge ist eine spürbar bessere Skalierbarkeit auf diversen Plattformen, speziell RISC-V, s390x und PPC64 profitieren ebenfalls von dieser Optimierung. String-Suchen per indexOf wurden durch das Hinzufügen AVX2-basierter Intrinsics in JDK 24 erheblich beschleunigt. Durch den Einsatz spezieller SIMD-Instruktionen kann diese Methode nun im x64-Umfeld Daten erheblich paralleler und somit schneller verarbeiten. Die typische Performance-Steigerung liegt hier im Bereich von 30 Prozent, was besonders bei großen Strings und intensiver String-Verarbeitung Vorteile bringt. In Sachen Garbage Collection wurde mit JEP 475 die „Late Barrier Expansion“ für den G1-Garbage-Collector eingeführt.

Diese Veränderung verlagert die Barrier-Ausweitung im Kompilierprozess auf einen späteren Zeitpunkt und reduziert dadurch die Kompilierungszeit und Speicherverbrauch des Just-in-Time-Compilers. Das verbessert sowohl den Startvorgang als auch die Aufwärmphase von Java-Anwendungen, was besonders für kurzlebige oder schnell skalierende Workloads relevant ist. Projekt Leyden hat mit JEP 483 einen Vorstoß gewagt, die Klassendaten via Ahead-of-Time-Caching (AOT) deutlich schneller bereitzustellen. Anstatt nur klassenspezifische Zustände vorgeparst zu speichern, werden nun auch geladene und gelinkte Klassendaten persistent vorgehalten. Diese Neuerung bewirkt eine Startzeitverbesserung von bis zu 40 Prozent bei typischen Anwendungen wie HelloStream oder PetClinic.

Dadurch wird der ohnehin dynamische Java-Startvorgang merklich beschleunigt, ohne die Flexibilität des Systems zu beeinträchtigen. Eine weitere experimentelle Optimierung ist der Einsatz von 8-Byte-Objektheadern im HotSpot-JVM. JEP 450 erlaubt es, die bisherigen 12 bis 16 Byte großen Objektheader für 64-Bit-Architekturen auf 8 Byte zu reduzieren. Dies führt zu einer geringeren Speicherbelegung, besserer Cache-Lokalität und damit zu schnellerer Datenzugriffszeit. Erste Tests zeigen eine Speicherreduktion von bis zu 20 Prozent und bei Belastungstests sogar messbare Durchsatzverbesserungen von über 5 Prozent.

Die Experimente sind vielversprechend und erwarten eine breite Akzeptanz in zukünftigen Versionen. Auch bei den Plattform-Ports waren signifikante Fortschritte zu verzeichnen. Insbesondere bei RISC-V, einer noch jungen, offenen Prozessorarchitektur, wurden zahlreiche Performance-Defizite adressiert. Verbesserungen bei String-Vergleichen, der Reverse-Bytes-Implementierung und der Einführung von CRC32- und Adler32-Intrinsics heben die Leistung auf ein konkurrenzfähiges Niveau für diese spannende Plattform. Die Konsistenz und Qualität der JVM laufen damit auf allen wichtigen Architekturen noch stabiler und performanter.

Trotz aller Erfolge hat das OpenJDK-Team auch kleinere Regressionen zwischen JDK 23 und 24 beobachtet, etwa bei MonteCarlo-Benchmarks oder im Bereich von AppCDS-Anwendungen. Diese werden allerdings aktiv verfolgt und mit kommenden Updates adressiert. Insgesamt lassen sich mit JDK 24 spürbare Verbesserungen in den Bereichen Startzeit, Speichernutzung, Multithreading-Effizienz und String-Performance feststellen. Das sorgt dafür, dass Entwickler und Unternehmen Java-Programme schneller starten, Ressourcen effizienter nutzen und eine bessere Skalierbarkeit erleben können. JDK 24 ist damit ein weiterer Meilenstein auf dem Weg zu noch leistungsfähigeren Java-Plattformen und unterstützt die stetige Weiterentwicklung des Ökosystems.

Wer bislang noch gezögert hat, sollte jetzt ernsthaft testen, wie die neuesten Optimierungen die eigene Software beschleunigen. Das Feedback aus der Entwickler-Community ist essenziell, um weitere Verbesserungen voranzutreiben und Java fit für die Zukunft zu machen. Mit JDK 24 erlebt Java eine neue, schnelle Ära, die zugleich offen für Innovationen bleibt und modernen Hardwareanforderungen gerecht wird. Es lohnt sich, die Möglichkeiten auszuschöpfen und tief in die neuen Features einzutauchen, um das Maximum aus den eigenen Java-Anwendungen herauszuholen.

Automatischer Handel mit Krypto-Geldbörsen Kaufen Sie Ihre Kryptowährung zum besten Preis

Als Nächstes
Preparing for When the Machine Stops
Sonntag, 08. Juni 2025. Vorbereitet sein, wenn die Maschine stoppt: Zwischen Abhängigkeit und eigenständigem Denken

Eine tiefgehende Analyse der Risiken und Herausforderungen, die mit zunehmender Abhängigkeit von automatisierten Technologien und Künstlicher Intelligenz einhergehen. Der Text beleuchtet, wie wichtig es ist, das eigene Wissen und die eigene Intuition zu bewahren, um vorbereitet zu sein, wenn moderne Systeme versagen.

The Reverse Turing Test Game
Sonntag, 08. Juni 2025. Das Reverse Turing Test Spiel: KI vs. Mensch – Wer gewinnt das Duell?

Erfahren Sie alles über das Reverse Turing Test Spiel, bei dem künstliche Intelligenzen und Menschen im Gespräch gegeneinander antreten, um die Menschlichkeit zu erkennen oder zu verschleiern. Entdecken Sie, wie das Spiel funktioniert, welche Herausforderungen es bereithält und warum es für die Zukunft der KI-Entwicklung bedeutend ist.

Oha: HTTP load generator written in Rust
Sonntag, 08. Juni 2025. Oha: Leistungsstarker HTTP-Load-Generator in Rust für moderne Web-Performance-Tests

Oha ist ein innovativer HTTP-Load-Generator, geschrieben in Rust, der Entwicklern und Systemadministratoren dabei hilft, Webanwendungen unter realistischen Lastbedingungen zu testen und wertvolle Einblicke in ihre Performance zu gewinnen.

Real time anonymous Kanban board
Sonntag, 08. Juni 2025. Effiziente Zusammenarbeit mit einem anonymen Echtzeit-Kanban-Board

Erfahren Sie, wie ein anonymes Echtzeit-Kanban-Board die Teamarbeit revolutioniert, Prozesse optimiert und gleichzeitig Datenschutz und flexible Zusammenarbeit ermöglicht.

A new AI language model that mimics the organization of the brain
Sonntag, 08. Juni 2025. Revolutionäre KI: Ein neues Sprachmodell, das die Organisation des menschlichen Gehirns nachahmt

Forscher der EPFL haben mit TopoLM ein bahnbrechendes KI-Sprachmodell entwickelt, das die räumliche und funktionale Organisation von Nervenzellen im Gehirn nachbildet. Diese Innovation eröffnet neue Wege für das Verständnis von Sprachverarbeitung im Gehirn und für die Entwicklung von KI-Systemen, die dem menschlichen Denken näherkommen.

Ask HN: Any AI Agents Recommendations
Sonntag, 08. Juni 2025. KI-Agenten: Empfehlungen und Anwendungsmöglichkeiten für komplexe Aufgaben

Ein umfassender Überblick über KI-Agenten, deren Nutzen bei der Automatisierung komplexer Aufgaben und Empfehlungen für vielseitig einsetzbare intelligente Agenten, die über reine Textantworten hinausgehen.

Starbucks’ CEO has a new right-hand woman in his bid to turn around the struggling coffee chain
Sonntag, 08. Juni 2025. Starbucks im Wandel: Wie CFO Cathy Smith den Neustart des Kaffeeriesen vorantreibt

Starbucks steht vor einer grundlegenden Transformation, angeführt von CEO Brian Niccol und seiner neuen Finanzchefin Cathy Smith. Erfahren Sie, wie diese Führungsriege das Traditionsunternehmen durch gezielte Strategien und Kundenorientierung wieder auf Erfolgskurs bringt.