Po šesti měsících vývoje společnost Oracle platformu (Java Platform, Standard Edition 13), jejíž referenční implementací je otevřený projekt OpenJDK. V Java SE 13 zůstává zpětná kompatibilita s předchozími verzemi platformy Java, všechny dříve napsané projekty Java budou při spuštění pod novou verzí fungovat bez změn. K dispozici jsou instalační balíčky Java SE 13 (JDK, JRE a Server JRE) pro Linux (x86_64), Solaris, Windows a macOS. Referenční implementace vyvinutá v rámci projektu OpenJDK je zcela otevřená pod licencí GPLv2 s výjimkami GNU ClassPath, které umožňují dynamické spojení s komerčními produkty.
Java SE 13 je zařazena do kategorie vydání se standardní podporou, aktualizace pro ni budou vydávány až do dalšího vydání. Jako verzi s dlouhou dobou podpory (LTS) je třeba použít Java SE 11, aktualizace pro kterou budou vydávány do roku 2026. Minulá LTS verze Java 8 bude podporována do prosince 2020. Další LTS vydání je plánováno na září 2021. Připomínáme, že od vydání Java 10 projekt přešel na nový proces vývoje, který předpokládá kratší cyklus vzniku nových vydání. Nové funkce nyní vznikají v jedné stále aktualizované master větvi, do které jsou zahrnovány již hotové změny a která se každých šest měsíců odštěpuje pro stabilizaci nových vydání. Na březen příštího roku je plánováno vydání Java 14, jehož předběžné verze již jsou k dispozici pro testování.
Z :
- podpora dynamického přídavku archivů CDS (Class-Data Sharing), která umožňuje společný přístup aplikací k sdíleným třídám. Pomocí CDS mohou být sdílené třídy umístěny do samostatného sdíleného archivu, což urychluje spuštění aplikací a snižuje režijní náklady. Nová verze obsahuje prostředky pro dynamické archivování tříd po dokončení provádění aplikace. Třídy umístěné v archivu zahrnují všechny třídy načtené během běhu programu a související knihovny, které v původně poskytnutém základním CDS archivu chyběly;
- V garbage collectoru ZGC (Z Garbage Collector) podpora vracení nevyužívané paměti operačnímu systému;
- Přepracovaná implementace API Legacy Socket (java.net.Socket a java.net.ServerSocket), která je snadnější na údržbu a ladění. Navíc je navrhovaná implementace snazší přizpůsobit pro práci s novým systémem vláken v uživatelském prostoru (fibers), které se vyvíjejí v rámci projektu Loom;
- rozvíjení nové formy výrazů 'switch'. Přidána experimentální (Preview) možnost použití 'switch' nejen jako operátoru, ale i jako výrazu. Například nyní lze používat konstrukce typu:
int numLetters = switch (day) {
case MONDAY, FRIDAY, SUNDAY -> 6;
case TUESDAY -> 7;
case THURSDAY, SATURDAY -> 8;
case WEDNESDAY -> 9;
};nebo
System.out.println(
switch (k) {
case 1 -> 'one'
case 2 -> 'two'
default -> 'many'
}
);V budoucnu se na základě této možnosti realizovat podporu pro shodování podle šablon;
- experimentální podpora textových bloků – nové formy řetězcových literálů, které umožňují zahrnout do zdrojového kódu vícerozměrná textová data bez použití únikových znaků a zachovávají původní formátování textu v bloku. Ohraničení bloku se provádí třemi dvojitými uvozovkami. Například místo výrazu
String query = 'SELECT `EMP_ID`, `LAST_NAME` FROM `EMPLOYEE_TB`\n' +
'WHERE `CITY` = 'INDIANAPOLIS'\n' +
'ORDER BY `EMP_ID`, `LAST_NAME`;\n';nyní lze použít konstrukci:
String query = '''
SELECT `EMP_ID`, `LAST_NAME` FROM `EMPLOYEE_TB`
WHERE `CITY` = 'INDIANAPOLIS'
ORDER BY `EMP_ID`, `LAST_NAME`;
«»»; - Bylo uzavřeno 2126 hlášení o chybách, z nichž 1454 bylo odstraněno zaměstnanci Oracle, a 671 třetími účastníky, z nichž jedna šestina změn byla provedena nezávislými vývojáři, zatímco zbytek představiteli takových společností, jako jsou IBM, Red Hat, Google, Loongson, Huawei, ARM a SAP.
Zdroj: opennet.ru
