Nach sechsmonatiger Entwicklung hat die Firma Oracle plattforms (Java Platform, Standard Edition 13), dessen Referenzimplementierung das Open-Source-Projekt OpenJDK nutzt. In Java SE 13 bleibt die AbwĂ€rtskompatibilitĂ€t zu frĂŒheren Versionen der Java-Plattform erhalten, alle frĂŒher geschriebenen Java-Projekte werden ohne Ănderungen mit der neuen Version funktionieren. Fertige Installationspakete von Java SE 13 (JDK, JRE und Server JRE) fĂŒr Linux (x86_64), Solaris, Windows und macOS. Die unter dem Projekt OpenJDK entwickelte Referenzimplementierung ist vollstĂ€ndig unter der GPLv2-Lizenz mit Ausnahmen von GNU ClassPath geöffnet, die dynamische Bindungen an kommerzielle Produkte erlauben.
Java SE 13 gehört zur Kategorie der Releases mit normaler UnterstĂŒtzung, fĂŒr die Updates bis zur nĂ€chsten Veröffentlichung bereitgestellt werden. Die Version mit langfristiger UnterstĂŒtzung (LTS) sollte Java SE 11 sein, fĂŒr die Updates bis zum Jahr 2026 bereitgestellt werden. Die vorherige LTS-Version Java 8 wird bis Dezember 2020 unterstĂŒtzt. Die nĂ€chste LTS-Veröffentlichung ist fĂŒr September 2021 geplant. Es sei daran erinnert, dass mit der Veröffentlichung von Java 10 das Projekt auf einen neuen Entwicklungsprozess umgestellt hat, der einen kĂŒrzeren Zyklus zur Bildung neuer Releases beinhaltet. Neue FunktionalitĂ€ten werden jetzt in einem konstant aktualisierten Master-Zweig entwickelt, in den bereits fertige Ănderungen aufgenommen werden und von dem alle sechs Monate Zweige zur Stabilisierung neuer Releases abgezweigt werden. Die Veröffentlichung von Java 14 ist fĂŒr MĂ€rz nĂ€chsten Jahres geplant, wofĂŒr bereits Testversionen zur VerfĂŒgung stehen.
Aus :
- UnterstĂŒtzung fĂŒr das dynamische HinzufĂŒgen von CDS-Archiven (Class-Data Sharing), die es Anwendungen ermöglichen, auf gemeinsame Klassen zuzugreifen. Mit CDS können gemeinsame Klassen in einem separaten gemeinsam genutzten Archiv abgelegt werden, was den Start von Anwendungen beschleunigt und die Overhead-Kosten reduziert. In der neuen Version wurden Mittel fĂŒr die dynamische Archivierung von Klassen nach Abschluss der Anwendung hinzugefĂŒgt. In das Archiv eingefĂŒgte Klassen umfassen alle wĂ€hrend der ProgrammausfĂŒhrung geladenen Klassen und zugehörigen Bibliotheken, die im ursprĂŒnglich bereitgestellten Basis-CDS-Archiv nicht vorhanden waren;
- Im Garbage Collector ZGC (Z Garbage Collector) wird die RĂŒckgabe nicht genutzter Speicher an das Betriebssystem unterstĂŒtzt;
- Ăberarbeitete Implementierung der Legacy-Socket-API (java.net.Socket und java.net.ServerSocket), die einfacher zu warten und zu debuggen ist. DarĂŒber hinaus ist die vorgeschlagene Implementierung leichter an das neue Thread-System im Benutzerraum (Fibers) anzupassen, das im Rahmen des Loom-Projekts entwickelt wird;
- die Entwicklung einer neuen Form von AusdrĂŒcken «switch». Eine experimentelle (Vorschau-) Möglichkeit wurde hinzugefĂŒgt, «switch» nicht nur als Anweisung, sondern auch als Ausdruck zu verwenden. Zum Beispiel kann man jetzt Konstruktionen der folgenden Art verwenden:
int numLetters = switch (day) {
case MONDAY, FRIDAY, SUNDAY -> 6;
case TUESDAY -> 7;
case THURSDAY, SATURDAY -> 8;
case WEDNESDAY -> 9;
};oder
System.out.println(
switch (k) {
case 1 -> «one»
case 2 -> «two»
default -> «many»
}
);In Zukunft wird basierend auf dieser Möglichkeit die UnterstĂŒtzung fĂŒr das Muster-Matching implementiert;
- experimentelle UnterstĂŒtzung fĂŒr Textblöcke â eine neue Form von Zeichenliteralen, die es ermöglichen, mehrzeilige Textdaten ohne Escape-Zeichen in den Quellcode einzufĂŒgen und die ursprĂŒngliche Formatierung des Textes im Block beizubehalten. Der Block wird mit drei doppelten AnfĂŒhrungszeichen umschlossen. Zum Beispiel anstelle des Ausdrucks
String query = «SELECT `EMP_ID`, `LAST_NAME` FROM `EMPLOYEE_TB`\n» +
«WHERE `CITY` = âINDIANAPOLISâ\n» +
«ORDER BY `EMP_ID`, `LAST_NAME`;\n»;kann man jetzt die Konstruktion verwenden:
String query = «»»
SELECT `EMP_ID`, `LAST_NAME` FROM `EMPLOYEE_TB`
WHERE `CITY` = âINDIANAPOLISâ
ORDER BY `EMP_ID`, `LAST_NAME`;
«»»; - 2126 Fehlermeldungen wurden geschlossen, von denen 1454 von Oracle-Mitarbeitern behoben wurden und 671 von Drittanbietern, wobei ein Sechstel der Ănderungen von unabhĂ€ngigen Entwicklern eingereicht wurde und der Rest von Vertretern solcher Unternehmen wie IBM, Red Hat, Google, Loongson, Huawei, ARM und SAP.
Quelle: opennet.ru
