Po šiestich mesiacoch vývoja firma Oracle platformu (Java Platform, Standard Edition 13), ktorej referenčná implementácia je založená na otvorenom projekte OpenJDK. V Java SE 13 bola zachovaná spätná kompatibilita so staršími verziami platformy Java, všetky predtým napísané Java projekty budú bez zmien funkčné pri spustení na novej verzii. Hotové inštalovateľné zostavy Java SE 13 (JDK, JRE a Server JRE) pre Linux (x86_64), Solaris, Windows a macOS. Referenčná implementácia vyvinutá v rámci projektu OpenJDK je úplne otvorená pod licenciou GPLv2 s výnimkami GNU ClassPath, ktoré umožňujú dynamické spájanie s komerčnými produktmi.
Java SE 13 patrí do kategórie vydaní s bežnou dobou podpory, aktualizácie pre ktoré budú vydávané až do ďalšieho vydania. Ako vetvu s dlhodobou podporou (LTS) by sa mala používať Java SE 11, aktualizácie pre ktorú budú vydávané do roku 2026. Predchádzajúca LTS vetva Java 8 bude podporovaná do decembra 2020. Ďalšie LTS vydanie je naplánované na september 2021. Pripomíname, že od vydania Java 10 projekt prešiel na nový proces vývoja, ktorý predpokladá kratší cyklus vydania nových verzií. Nové funkcie sa teraz vyvíjajú v jednej neustále aktualizovanej master vetve, do ktorej sa zahŕňajú už dokončené zmeny a ktorá sa raz za šesť mesiacov oddeľuje na vetvy na stabilizáciu nových vydaní. Na marec budúceho roku je naplánované vydanie Java 14, ktorého predbežné zostavy sú už na testovanie.
Z :
- podpora dynamického rozšírenia archívov CDS (Class-Data Sharing), umožňujúcich spoločný prístup aplikácií k spoločným triedam. S pomocou CDS môžu byť spoločné triedy umiestnené v samostatnom archíve, čo umožňuje zrýchliť spustenie aplikácií a znížiť režijné náklady. V novej verzii boli pridané prostriedky na dynamické archivovanie tried po skončení vykonávania aplikácie. Triedy umiestnené v archíve zahŕňajú všetky triedy načítané počas behu programu a sprievodné knižnice, ktoré chýbali v pôvodne poskytnutom základnom CDS archíve;
- V garbage collectore ZGC (Z Garbage Collector) podpora vrátenia nevyužitej pamäte operačnému systému;
- Prepracovaná implementácia API Legacy Socket (java.net.Socket a java.net.ServerSocket), ktorá sa ľahšie spravuje a debuguje. Okrem toho bude navrhnutá implementácia jednoduchšie prispôsobiteľná na prácu s novým systémom vlákien v používateľskom priestore (fibers), vyvíjaným v rámci projektu Loom;
- rozvoja novej formy výrazu „switch“. Pridaná experimentálna (Preview) možnosť používania „switch“ nielen ako operátora, ale aj ako výrazu. Napríklad, teraz je možné použiť konštrukcie ako:
int numLetters = switch (day) {
case MONDAY, FRIDAY, SUNDAY -> 6;
case TUESDAY -> 7;
case THURSDAY, SATURDAY -> 8;
case WEDNESDAY -> 9;
};alebo
System.out.println(
switch (k) {
case 1 -> „one“
case 2 -> „two“
default -> „many“
}
);V budúcnosti na základe tejto možnosti implementovať podporu pre porovnávanie podľa vzorov;
- experimentálna podpora textových blokov – novej formy reťazcových literálov, ktoré umožňujú vkladať do zdrojového kódu viacriadkové textové dáta bez použitia únikov a zachovávajúc pôvodné formátovanie textu v bloku. Obalenie bloku sa vykonáva tromi dvojitými úvodzovkami. Napríklad, namiesto konštrukcie
String query = „SELECT `EMP_ID`, `LAST_NAME` FROM `EMPLOYEE_TB`\n“ +
„WHERE `CITY` = ‘INDIANAPOLIS’\n“ +
„ORDER BY `EMP_ID`, `LAST_NAME`;\n“;teraz je možné použiť konštrukciu:
String query = „"""
SELECT `EMP_ID`, `LAST_NAME` FROM `EMPLOYEE_TB`
WHERE `CITY` = ‘INDIANAPOLIS’
ORDER BY `EMP_ID`, `LAST_NAME`;
«»»; - Uzavreto 2126 hlásení o chybách, z ktorých 1454 odstránili zamestnanci Oracle, a 671 externí účastníci, z ktorých jedna štvrtina zmien bola vykonaná nezávislými vývojármi, a zvyšok odišiel od zástupcov spoločností ako IBM, Red Hat, Google, Loongson, Huawei, ARM a SAP.
Zdroj: opennet.ru
