Veröffentlichung von Java SE 19

Nach sechs Monaten Entwicklung hat Oracle die Plattform Java SE 19 (Java Platform, Standard Edition 19) veröffentlicht, wobei das OpenJDK-Projekt als Referenzimplementation dient. Abgesehen von der Entfernung einiger veralteter Funktionen bleibt die AbwĂ€rtskompatibilitĂ€t zu frĂŒheren Versionen der Java-Plattform in Java SE 19 erhalten – die meisten zuvor geschriebenen Java-Projekte werden ohne Änderungen mit der neuen Version funktionieren. Fertig zur Installation sind die Pakete Java SE 19 (JDK, JRE und Server JRE) fĂŒr Linux (x86_64, AArch64), Windows (x86_64) und macOS (x86_64, AArch64) vorbereitet. Die im Rahmen des OpenJDK-Projekts entwickelte Referenzimplementation von Java 19 ist vollstĂ€ndig unter der GPLv2-Lizenz mit Ausnahmen von GNU ClassPath offen, die dynamisches Binden an kommerzielle Produkte erlauben.

Java SE 19 gehört zur Kategorie der Versionen mit normaler UnterstĂŒtzung, fĂŒr die bis zur nĂ€chsten Version Aktualisierungen veröffentlicht werden. FĂŒr eine langfristige UnterstĂŒtzung (LTS) sollte Java SE 17 verwendet werden, dessen Updates bis 2029 veröffentlicht werden. Es sei daran erinnert, dass mit der Veröffentlichung von Java 10 das Projekt auf einen neuen Entwicklungsprozess umgestiegen ist, der einen kĂŒrzeren Zyklus fĂŒr die Erstellung neuer Releases vorsieht. Neue Funktionen werden jetzt in einem stĂ€ndig aktualisierten Master-Branch entwickelt, der bereits fertige Änderungen enthĂ€lt und von dem alle sechs Monate Branches zur Stabilisierung neuer Releases abgezweigt werden.

Zu den Neuerungen in Java 19 gehören:

  • Die vorlĂ€ufige UnterstĂŒtzung von Record-Pattern wurde eingefĂŒhrt, die die in Java 16 eingefĂŒhrte Möglichkeit fĂŒr Musterabgleiche mithilfe von Record-Klassenwerten erweitert. Zum Beispiel: record Point(int x, int y) {} void printSum(Object o) { if (o instanceof Point(int x, int y)) { System.out.println(x+y); } }
  • In den Builds fĂŒr Linux wird die UnterstĂŒtzung der RISC-V-Architektur gewĂ€hrleistet.
  • Die vorlĂ€ufige UnterstĂŒtzung fĂŒr die FFM-API (Foreign Function & Memory) wurde hinzugefĂŒgt, die es Java-Programmen ermöglicht, ĂŒber Funktionsaufrufe auf externe Bibliotheken und den Zugriff auf den Speicher außerhalb der JVM mit externem Code und Daten zu interagieren.
  • Die UnterstĂŒtzung fĂŒr virtuelle Threads wurde eingefĂŒhrt, die als leichte Threads fungieren und die Entwicklung sowie Wartung von leistungsstarken, multithreadfĂ€higen Anwendungen erheblich erleichtern.
  • Eine vierte vorlĂ€ufige Implementierung der Vector-API wurde vorgeschlagen, die Funktionen fĂŒr Vektorberechnungen bereitstellt, die unter Verwendung von Vektorbefehlen der x86_64- und AArch64-Prozessoren durchgefĂŒhrt werden und es ermöglichen, Operationen gleichzeitig auf mehrere Werte anzuwenden (SIMD). Im Gegensatz zur automatischen Vektorisierung von Skalaren im JIT-Compiler HotSpot ermöglicht die neue API eine explizite Steuerung der Vektorisierung fĂŒr die parallele Datenverarbeitung.
  • Eine dritte experimentelle Implementierung der Musterzuordnung in "switch"-AusdrĂŒcken wurde hinzugefĂŒgt, die es ermöglicht, in den "case"-Labels keine genauen Werte, sondern flexible Muster zu verwenden, die eine Reihe von Werten abdecken, fĂŒr die zuvor umstĂ€ndliche "if...else"-Ketten erforderlich waren. Object o = 123L; String formatted = switch (o) { case Integer i -> String.format("int %d", i); case Long l -> String.format("long %d", l); case Double d -> String.format("double %f", d); case String s -> String.format("String %s", s); default -> o.toString(); };
  • Eine experimentelle API fĂŒr strukturierten Parallelismus wurde hinzugefĂŒgt, die die Entwicklung von mehrstrĂ€ngigen Anwendungen vereinfacht, indem mehrere Aufgaben, die in verschiedenen Threads ausgefĂŒhrt werden, als ein einheitlicher Block behandelt werden.

Quelle: opennet.ru

Kaufen Sie zuverlĂ€ssiges Hosting fĂŒr Websites mit DDoS-Schutz, VPS VDS-Servern đŸ”„ Kaufen Sie zuverlĂ€ssiges Hosting fĂŒr Websites mit DDoS-Schutz, VPS VDS-Servern | ProHoster