Java 25 / JDK 25 offiziell veröffentlicht
(openjdk.org)- Java 25 und seine Referenzimplementierung JDK 25 wurden offiziell veröffentlicht
- Diese Version enthält 18 neue JEPs (Java Enhancement Proposals)
- Wichtige Änderungen sind unter anderem Entfernung des x86-32-Bit-Ports, Scoped Values, Structured Concurrency und Verbesserungen bei Primitive Types
Java 25 / JDK 25: Offizielle Veröffentlichung
- JDK 25, also die Referenzimplementierung von Java 25, wurde offiziell als Version für den Produktionseinsatz veröffentlicht
- Am 15. August 2025 wurde mit Build 36 der zweite Release Candidate bereitgestellt; seitdem wurden keine kritischen (P1) Bugs gemeldet.
- Build 36 ist die finale GA-Version (General Availability) und kann auch in Produktionsumgebungen eingesetzt werden
- OpenJDK-Builds auf GPL-Basis werden offiziell von Oracle bereitgestellt; Build-Versionen weiterer Anbieter sollen ebenfalls in Kürze erscheinen
Offizieller OpenJDK-Download-Link
Wichtige Funktionen und Verbesserungen
Diese Veröffentlichung umfasst 18 JEPs (Java Enhancement Proposals)
- 470: PEM-basierte Kodierung kryptografischer Objekte (Preview)
- 502: Stable Values (Preview)
- 503: Entfernung des x86-32-Bit-Ports
- 505: Structured Concurrency (5. Preview)
- 506: Scoped Values
- 507: Unterstützung für Primitive Types in Patterns,
instanceofundswitch(3. Preview) - 508: Vector API (10. Inkubator-Version)
- 509: JFR CPU-Zeit-Profiling (experimentelle Funktion)
- 510: Key Derivation Function API
- 511: Module-Import-Deklarationen
- 512: Compact Source Files und Instanz-
main-Methoden - 513: Flexible Constructor Bodies
- 514: Ahead-of-Time-Kommandozeilenoptimierung
- 515: Ahead-of-Time-Methodenprofiling
- 518: Kooperatives JFR-Sampling
- 519: Compact Object Headers
- 520: JFR Method Timing and Tracing
- 521: Generational Shenandoah
Neben den oben genannten JEPs enthält diese Veröffentlichung außerdem Hunderte kleinerer Funktionsverbesserungen und Tausende Bugfixes
Ausführliche Informationen zur Veröffentlichung und Details zu den JEPs finden sich auf der
OpenJDK-Projektseite zu JDK 25
3 Kommentare
Der alte Gaukler vom letzten Jahr ist nicht gestorben und kommt schon wieder, eoreolssigushigu, jetzt geht’s los … Warum tauchst du ständig wieder auf?
Die Funktion ist zwar schon in JDK 24 eingeführt worden, aber da Java meist nur als LTS eingesetzt wird, ist auch JEP 491: Synchronize Virtual Threads without Pinning beachtenswert, weil beim Verwenden des Schlüsselworts
synchronizeddas Pinning-Phänomen bei virtuellen Threads verschwunden ist.In der Praxis gab es bei Benchmarks mit virtuellen Threads häufig Fälle, in denen sie langsamer waren, und in den meisten davon war Pinning die Ursache.
Hacker-News-Kommentare
nbb-Skripte laufen direkt und ohne größere Probleme wieder an, höchstens muss man gelegentlich bei npm-Abhängigkeiten etwas nachbessern. In Python dagegen habe ich schon einen halben Tag mit Abhängigkeitsproblemen undvenv-Verwaltung verloren.super-Aufruf im Konstruktor erlaubt wurden. Das war für mich schon immer etwas, das der Intuition widersprach.static-Funktion für diesuper-Parameter genutzt hat, wurde er tatsächlich schon vorsuperaufgerufen, und der Compiler hatte damit kein Problem.import *macht das Schreiben von Code zwar leicht, aber das Lesen deutlich schwerer, besonders für Entwickler, denen die Sprache oder Codebasis nicht vertraut ist. C# und Nim sind ähnlich, und ohne IDE kann ich das kaum lesen. Deshalb finde ich kurze Aliase wie in Python (import torch.nn.functional as F) besser.csproj- odersln-Dateien würde ich niemals in VSCode öffnen. Übrigens kann man Visual Studio hier für 500 $ mit einer unbefristeten Lizenz kaufen und ohne separates Abo nutzen.async/awaitan, sondern wie ein echter Fortschritt. Nach den Beispielen bin ich noch nicht überzeugt, aber ich will es weiter beobachten.jdk17gemacht, und fast unverändert lief es auch unterjdk21(nurguicebrauchte ein Major-Upgrade). Nebenbei glaube ich, dass auch der Einsatz einer anderen JVM-Sprache statt Java geholfen hat.sun-Pakete im Einsatz, und auch der Wechsel vonjavaxzujakartawar belastend. Wenn man diese Hürde einmal genommen hat, wirken 21 oder 25 leicht. Ich hoffe, dass es künftig einfacher sein wird als früher, kontinuierlich auf dem neuesten Stand zu bleiben.NullPointerExceptiondeshalb häufig ist). Wenn Kotlin nicht zusagt, ist auch C# gut. Trotzdem ist Java absolut brauchbar.