Hat hónapnyi fejlesztés után az Oracle cég platformját (Java Platform, Standard Edition 13), amelynek referenciaszervezése az OpenJDK nyílt projekt. A Java SE 13 megőrzi a visszafelé kompatibilitást a Java platform korábbi verzióival, így a korábban írt Java-projektek módosítások nélkül működni fognak az új verzió által üzemeltetve. A Java SE 13 telepítésre kész összeállításai (JDK, JRE és Server JRE) Linux (x86_64), Solaris, Windows és macOS rendszerekhez. Az OpenJDK projekt keretében kifejlesztett referencia megvalósítás teljes mértékben nyílt, GPLv2 licenc alatt, GNU ClassPath kivételekkel, amelyek lehetővé teszik a dinamikus kötést kereskedelmi termékekkel.
A Java SE 13 a szokásos támogatási időszakú kiadások kategóriájába tartozik, frissítéseit a következő kiadásig fogják kiadni. A hosszú távú támogatási ágnak (LTS) a Java SE 11-et ajánljuk, amelyhez frissítések 2026-ig állnak rendelkezésre. A korábbi LTS-ág, a Java 8 2020 decemberéig lesz támogatva. A következő LTS-kiadás tervezett dátuma 2021 szeptember. Emlékezzünk arra, hogy a Java 10 kiadása óta a projekt új fejlesztési folyamatra váltott, amely rövidebb új kiadási ciklusokat feltételez. Az új funkciók most már egy folyamatosan frissített master-ágból fejlődnek, ahova a kész változtatásokat integrálják és ahonnan hat havonta stabilizáló ágakat hoznak létre az új kiadásokhoz. A következő év márciusára a Java 14 kiadása van tervben, amelynek előzetes összeállításai már a teszteléshez.
A :
- a CDS (Class-Data Sharing) archívumok dinamikus kiegészítésének támogatása, amely lehetővé teszi az alkalmazások számára, hogy közös osztályokhoz férjenek hozzá. A CDS segítségével a közös osztályok egy külön, megosztott archívumban helyezhetők el, ami felgyorsítja az alkalmazások indítását és csökkenti a ráfordításokat. Az új verzióban eszközöket adtak hozzá az osztályok dinamikus archíválásához az alkalmazás futása befejeztével. Az archívumban elhelyezett osztályok közé tartoznak a program működése során betöltött összes osztály és a kapcsolódó könyvtárak, amelyek az eredetileg rendelkezésre álló alap CDS-archívumban nem voltak ott;
- A ZGC (Z Garbage Collector) szemétgyűjtő támogatja a nem használt memória visszaadását az operációs rendszernek;
- A felülvizsgált Legacy Socket API (java.net.Socket és java.net.ServerSocket) megvalósítása, amely egyszerűbb a karbantartásban és a hibakeresésben. Emellett a javasolt megvalósítás könnyebben alkalmazható az új felhasználói szálrendszerhez (fibers), amelyet a Loom projekt keretében fejlesztenek;
- az új „switch” kifejezési forma fejlesztése. Kísérleti (Preview) lehetőség került bevezetésre, amely lehetővé teszi a „switch” használatát nemcsak utasításként, hanem kifejezésként is. Például, most már használhatók az alábbi konstrukciók:
int numLetters = switch (day) {
case MONDAY, FRIDAY, SUNDAY -> 6;
case TUESDAY -> 7;
case THURSDAY, SATURDAY -> 8;
case WEDNESDAY -> 9;
};vagy
System.out.println(
switch (k) {
case 1 -> „one”
case 2 -> „two”
default -> „many”
}
);A jövőben ezen lehetőség alapján megvalósítják a minták szerinti illesztés támogatását;
- kísérleti támogatás a szöveges blokkokhoz - új formájú string literálok, amelyek lehetővé teszik, hogy több soros szöveges adatokat illesszenek a kódba anélkül, hogy karaktereket kellene escapingolni, és megőrizzék a blokkon belüli szöveg eredeti formázását. A blokk keretezése három dupla idézőjellel történik. Például a következő kifejezés helyett
String query = „SELECT `EMP_ID`, `LAST_NAME` FROM `EMPLOYEE_TB`\n” +
„WHERE `CITY` = ‘INDIANAPOLIS’\n” +
„ORDER BY `EMP_ID`, `LAST_NAME`;\n”;most már alkalmazható a következő konstrukció:
String query = „„„
SELECT `EMP_ID`, `LAST_NAME` FROM `EMPLOYEE_TB`
WHERE `CITY` = ‘INDIANAPOLIS’
ORDER BY `EMP_ID`, `LAST_NAME`;
«»»; - 2126 hibajelentés került lezárásra, ezek közül 1454-et az Oracle munkatársai, 671-et pedig külső résztvevők javítottak, ezek közül a változások egyhatodát független fejlesztők, a többit pedig olyan cégek képviselői végezték, mint az IBM, Red Hat, Google, Loongson, Huawei, ARM és SAP.
Forrás: opennet.ru
