Nakon šest mjeseci razvoja, tvrtka Oracle platformu (Java Platform, Standard Edition 13), čija se referentna implementacija temelji na otvorenom projektu OpenJDK. U Java SE 13 zadržana je unatrag kompatibilnost s ranijim verzijama platforme Java, svi prethodno napisani Java projekti će raditi bez promjena na novoj verziji. Dostupne su instalacijske verzije Java SE 13 (JDK, JRE i Server JRE) za Linux (x86_64), Solaris, Windows i macOS. Referentna implementacija razvijena unutar projekta OpenJDK je potpuno otvorena pod GPLv2 licencom s iznimkama GNU ClassPath, koje omogućuju dinamičko povezivanje s komercijalnim proizvodima.
Java SE 13 spada u kategoriju izdanja s uobičajenim rokom trajanja podrške, a ažuriranja će se izdavati do sljedećeg izdanja. Za duži rok trajanja podrške (LTS) preporučuje se korištenje Java SE 11, a ažuriranja će se izdavati do 2026. godine. Prethodna LTS grana Java 8 će se podržavati do prosinca 2020. godine. Sljedeće LTS izdanje planirano je za rujan 2021. godine. Podsjećamo da je s izdanjem Java 10 projekt prešao na novi razvojni proces, koji podrazumijeva kraći ciklus nastajanja novih izdanja. Nova funkcionalnost se sada razvija u jednoj stalno ažuriranoj master-grani, u koju se uključuju gotove promjene, a jednom svakih šest mjeseci grane se odvajaju za stabilizaciju novih izdanja. Za ožujak sljedeće godine planirano je izdanje Java 14, čije su preliminarne verzije već na raspolaganju za testiranje.
Od :
- podrška za dinamičko dodavanje CDS (Class-Data Sharing) arhiva, koji omogućuju zajednički pristup aplikacija zajedničkim klasama. Korištenjem CDS zajedničke klase mogu se smjestiti u poseban zajednički arhiv, što ubrzava pokretanje aplikacija i smanjuje troškove. U novoj verziji dodani su alati za dinamičko arhiviranje klasa nakon završetka izvršavanja aplikacije. Klase smještene u arhiv uključuju sve klase učitane tijekom rada programa i pripadajuće biblioteke, koje nisu bile u početno isporučenom osnovnom CDS arhivu;
- U sakupljaču smeća ZGC (Z Garbage Collector) podrška za vraćanje neiskorištene memorije operativnom sustavu;
- preuređena implementacija API-a Legacy Socket (java.net.Socket i java.net.ServerSocket), koja je lakša za održavanje i otklanjanje grešaka. Osim toga, ponuđena implementacija će se lakše prilagoditi za rad s novim sustavom niti u korisničkom prostoru (fibers), koji se razvija u okviru projekta Loom;
- razvoj nove forme izraza „switch“. Dodana je eksperimentalna (Preview) mogućnost korištenja „switch“ ne samo kao operatora, već i kao izraza. Na primjer, sada je moguće koristiti konstrukcije poput:
int numLetters = switch (day) {
case MONDAY, FRIDAY, SUNDAY -> 6;
case TUESDAY -> 7;
case THURSDAY, SATURDAY -> 8;
case WEDNESDAY -> 9;
};ili
System.out.println(
switch (k) {
case 1 -> „one“
case 2 -> „two“
default -> „many“
}
);U budućnosti se na osnovu ove mogućnosti implementirati podršku za usklađivanje po obrascima;
- eksperimentalna podrška za tekstualne blokove — novu formu string literala, koja omogućuje uključivanje višelinijskih tekstualnih podataka u izvorni kod bez primjene ekvivalentnih simbola i očuvanje izvorno formatiranje teksta u bloku. Obramčavanje bloka vrši se s tri dvostruke navodnice. Na primjer, umjesto izraza
String query = „SELECT `EMP_ID`, `LAST_NAME` FROM `EMPLOYEE_TB` “ +
„WHERE `CITY` = ‘INDIANAPOLIS’ “ +
„ORDER BY `EMP_ID`, `LAST_NAME`; “;sada je moguće koristiti konstrukciju:
String query = „„„
SELECT `EMP_ID`, `LAST_NAME` FROM `EMPLOYEE_TB`
WHERE `CITY` = ‘INDIANAPOLIS’
ORDER BY `EMP_ID`, `LAST_NAME`;
«»»; - Zatvoreno je 2126 izvještaja o greškama, od kojih je 1454 riješeno od strane zaposlenika Oracle-a, a 671 od strane vanjskih sudionika, gdje je šesta dio promjena unijela neovisna razvijača, a ostatak predstavnicima kompanija poput IBM, Red Hat, Google, Loongson, Huawei, ARM i SAP.
Izvor: opennet.ru
