După șase luni de dezvoltare, compania Oracle platforma (Java Platform, Standard Edition 13), pentru care se folosește proiectul deschis OpenJDK ca implementare de referință. Java SE 13 menține compatibilitatea înapoi cu versiunile anterioare ale platformei Java, toate proiectele Java scrise anterior vor funcționa fără modificări sub gestionarea noii versiuni. Pachetele gata de instalare Java SE 13 (JDK, JRE și Server JRE) pentru Linux (x86_64), Solaris, Windows și macOS. Implementarea de referință dezvoltată în cadrul proiectului OpenJDK este complet deschisă sub licența GPLv2 cu excepții GNU ClassPath, care permit legarea dinamică cu produse comerciale.
Java SE 13 este clasificată ca o lansare cu suport obișnuit, actualizări pentru care vor fi eliberate până la următoarea lansare. Ca ramură cu suport pe termen lung (LTS), trebuie utilizată Java SE 11, actualizările pentru care vor fi eliberate până în 2026. Anterioara ramură LTS, Java 8, va fi susținută până în decembrie 2020. Următoarea lansare LTS este planificată pentru septembrie 2021. Reamintim că începând cu lansarea Java 10, proiectul a trecut la un nou proces de dezvoltare, care implică un ciclu de formare a noilor lansări mai scurt. Funcționalitatea nouă se dezvoltă acum într-o ramură master constant actualizată, în care sunt incluse modificările deja pregătite și din care se ramifică ramuri pentru stabilizarea noilor lansări o dată la șase luni. O lansare a Java 14 este planificată pentru martie anul viitor, iar pachetele preliminare ale acesteia sunt deja disponibile pentru testare.
Din :
- suport pentru adăugarea dinamică a arhivelor CDS (Class-Data Sharing), care permit accesul comun al aplicațiilor la clasele comune. Prin intermediul CDS, clasele comune pot fi plasate într-o arhivă comună, ceea ce permite accelerarea lansării aplicațiilor și reducerea cheltuielilor generale. Noua versiune a adăugat instrumente pentru arhivarea dinamică a claselor după încheierea execuției aplicației. Clasele incluse în arhivă conțin toate clasele și bibliotecile asociate care au fost încărcate în timpul execuției programului, care lipseau în arhiva CDS de bază inițial furnizată;
- În colectorul de gunoi ZGC (Z Garbage Collector) suport pentru returnarea memoriei neutilizate către sistemul de operare;
- o implementare revizuită a API Legacy Socket (java.net.Socket și java.net.ServerSocket), care este mai ușor de întreținut și de depurat. În plus, implementarea propusă va fi mai ușor de adaptat pentru a lucra cu noul sistem de fire în spațiul utilizatorului (fibers), dezvoltate în cadrul proiectului Loom;
- dezvoltarea unei noi forme de expresii „switch”. A fost adăugată o posibilitate experimentală (Preview) de a folosi „switch” nu doar ca operator, ci și ca expresie. De exemplu, acum este posibil să se folosească construcții de tipul:
int numLetters = switch (day) {
case MONDAY, FRIDAY, SUNDAY -> 6;
case TUESDAY -> 7;
case THURSDAY, SATURDAY -> 8;
case WEDNESDAY -> 9;
};sau
System.out.println(
switch (k) {
case 1 -> „one”
case 2 -> „two”
default -> „many”
}
);În viitor, pe baza acestei posibilități se va implementa suportul pentru potrivirea pe modele;
- suport experimental pentru blocuri textuale — o nouă formă de litere de șiruri, care permit includerea datelor textuale pe mai multe rânduri în codul sursă fără a necesita escape-uri de caractere și păstrând formatarea originală a textului în bloc. Încadrarea blocului se face cu trei ghilimele duble. De exemplu, în loc de expresia
String query = „SELECT `EMP_ID`, `LAST_NAME` FROM `EMPLOYEE_TB` ” +
„WHERE `CITY` = ‘INDIANAPOLIS’ ” +
„ORDER BY `EMP_ID`, `LAST_NAME`; ”;acum se poate folosi construcția:
String query = „„„
SELECT `EMP_ID`, `LAST_NAME` FROM `EMPLOYEE_TB`
WHERE `CITY` = ‘INDIANAPOLIS’
ORDER BY `EMP_ID`, `LAST_NAME`;
«»»; - S-au închis 2126 de rapoarte de erori, dintre care 1454 au fost remediate de angajații Oracle, iar 671 de participanți externi, dintre care o șesime din modificări au fost făcute de dezvoltatori independenți, iar restul de reprezentanți ai unor companii precum IBM, Red Hat, Google, Loongson, Huawei, ARM și SAP.
Sursa: opennet.ro
