Nach sechs Monaten Entwicklung hat die Firma Oracle die Plattform (Java Platform, Standard Edition 13) als Referenzimplementierung, für die das Open-Source-Projekt OpenJDK verwendet wird. Java SE 13 bewahrt die Abwärtskompatibilität mit früheren Versionen der Java-Plattform, sodass alle zuvor geschriebenen Java-Projekte ohne Änderungen unter der neuen Version lauffähig sind. Fertige Installationspakete für Java SE 13 (JDK, JRE und Server JRE) sind für Linux (x86_64), Solaris, Windows und macOS verfügbar. Die im Rahmen des OpenJDK-Projekts entwickelte Referenzimplementierung ist vollständig unter der GPLv2-Lizenz mit Ausnahmen von GNU ClassPath geöffnet, die eine dynamische Verknüpfung mit kommerziellen Produkten ermöglichen.
Java SE 13 gehört zur Kategorie der Releases mit normaler Unterstützung, deren Updates bis zur nächsten Version veröffentlicht werden. Als Long-Term-Support-Version (LTS) sollte Java SE 11 verwendet werden, dessen Updates bis 2026 verfügbar sein werden. Der vorherige LTS-Zweig, Java 8, wird bis Dezember 2020 unterstützt. Der nächste LTS-Release ist für September 2021 geplant. 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 neue Releases vorsieht. Neue Funktionen werden jetzt in einem ständig aktualisierten Master-Zweig entwickelt, in den bereits fertige Änderungen einfließen, und von dem alle sechs Monate Branches zur Stabilisierung neuer Releases abgezweigt werden. Die Veröffentlichung von Java 14 ist für März nächsten Jahres geplant, dessen Vorabversionen bereits zum Testen.
Von :
- Unterstützung für dynamische Archivierung von CDS (Class-Data Sharing), die den gemeinsamen Zugriff von Anwendungen auf gemeinsame Klassen ermöglicht. Mit CDS können gemeinsame Klassen in einem separaten gemeinsamen Archiv platziert werden, was den Start von Anwendungen beschleunigt und die Betriebskosten senkt. In der neuen Version wurden Werkzeuge zur dynamischen Archivierung von Klassen nach Beendigung der Anwendungsausführung hinzugefügt. Archivierte Klassen umfassen alle während der Programmausführung geladenen Klassen und zugehörige Bibliotheken, die im ursprünglich bereitgestellten Basis-CDS-Archiv fehlten.
- Im Garbage Collector ZGC (Z Garbage Collector) Unterstützung für die Rückgabe nicht verwendeter Speicher an das Betriebssystem;
- Überarbeitete Implementierung der Legacy Socket API (java.net.Socket und java.net.ServerSocket), die einfacher zu warten und zu debuggen ist. Darüber hinaus wird die vorgeschlagene Implementierung einfacher an das neue Fadensystem im Benutzerspeicher (Fibers) anzupassen sein, das im Rahmen des Loom-Projekts entwickelt wird.
- Entwicklung einer neuen Form von Ausdrücken «switch». Eine experimentelle (Vorschau-) Möglichkeit wurde hinzugefügt, «switch» nicht nur als Operator, sondern auch als Ausdruck zu verwenden. Beispielsweise können nun Konstruktionen wie folgt verwendet werden:
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 von Musterzuweisungen implementiert;
- experimentelle Unterstützung von Textblöcken – einer neuen Form von String-Literalen, 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 durch drei doppelte Anführungszeichen umschlossen. 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 nun die Konstruktion verwendet werden:
String query = «»»
SELECT `EMP_ID`, `LAST_NAME` FROM `EMPLOYEE_TB`
WHERE `CITY` = ‘INDIANAPOLIS’
ORDER BY `EMP_ID`, `LAST_NAME`;
«»»; - Es wurden 2126 Fehlerberichte geschlossen, von denen 1454 von Oracle-Mitarbeitern und 671 von Dritten behoben wurden. Dabei stammte ein Sechstel der Änderungen von unabhängigen Entwicklern, während der Rest von Vertretern von Unternehmen wie IBM, Red Hat, Google, Loongson, Huawei, ARM und SAP kam.
Quelle: opennet.ru
