Lansarea Java SE 19

După șase luni de dezvoltare, compania Oracle a lansat platforma Java SE 19 (Java Platform, Standard Edition 19), ale cărei implementări de referință se bazează pe proiectul deschis OpenJDK. Cu excepția eliminării anumitor funcționalități învechite, Java SE 19 păstrează compatibilitatea înapoi cu versiunile anterioare ale platformei Java – majoritatea proiectelor Java scrise anterior vor funcționa fără modificări atunci când sunt rulate pe noua versiune. Versiuni gata de instalare pentru Java SE 19 (JDK, JRE și Server JRE) sunt pregătite pentru Linux (x86_64, AArch64), Windows (x86_64) și macOS (x86_64, AArch64). Implementarea de referință a Java 19, dezvoltată în cadrul proiectului OpenJDK, este complet deschisă sub licența GPLv2 cu excepțiile GNU ClassPath, care permit legarea dinamică cu produse comerciale.

Java SE 19 este clasificat ca o versiune cu un ciclu obișnuit de suport, actualizările pentru care vor fi lansate până la următoarea versiune. Pentru o ramură cu ciclu lung de suport (LTS), se recomandă utilizarea Java SE 17, actualizările pentru care vor fi lansate până în 2029. Amintim că, începând cu versiunea Java 10, proiectul a trecut la un nou proces de dezvoltare, care implică un ciclu mai scurt de formare a noilor versiuni. Noile funcționalități sunt acum dezvoltate într-o ramură master care este actualizată constant, în care sunt incluse modificările deja finalizate și care se bifurcă la fiecare șase luni în ramuri pentru stabilizarea noilor versiuni.

Printre noutățile din Java 19 se numără:

  • Se oferă suport preliminar pentru modele de înregistrare (record pattern), extinzând capacitatea de potrivire cu modele introdusă în Java 16, care permite analizarea valorilor claselor de tip record. De exemplu: record Point(int x, int y) {} void printSum(Object o) { if (o instanceof Point(int x, int y)) { System.out.println(x+y); } }
  • În versiunile pentru Linux, a fost adăugat suport pentru arhitectura RISC-V.
  • A fost adăugat suport preliminar pentru API-ul FFM (Foreign Function & Memory), care permite interacțiunea programelor Java cu coduri și date externe prin apeluri de funcții din biblioteci externe și acces la memorie în afara JVM.
  • A fost adăugat suport pentru fire virtuale, care sunt fire ușoare ce simplifică considerabil scrierea și întreținerea aplicațiilor multi-thread de înaltă performanță.
  • A fost propusă a patra realizare preliminară a API-ului Vector, care oferă funcții pentru calcule vectoriale ce se efectuează folosind instrucțiuni vectoriale ale procesoarelor x86_64 și AArch64 și permit aplicarea simultană a operațiunilor la mai multe valori (SIMD). Spre deosebire de capacitățile de vectorizare automată a operațiunilor scalare oferite de compilatorul JIT HotSpot, noul API permite gestionarea explicită a vectorizării pentru procesarea paralelă a datelor.
  • A fost adăugată a treia realizare experimentală a potrivirii prin șabloane în expresiile „switch”, permițând utilizarea șabloanelor flexibile în etichetele „case”, care cuprind o serie de valori pentru care anterior era necesar să se utilizeze șiruri voluminoase de expresii „if…else”. Object o = 123L; String formatted = switch (o) { case Integer i -> String.format("int %d", i); case Long l -> String.format("long %d", l); case Double d -> String.format("double %f", d); case String s -> String.format("String %s", s); default -> o.toString(); };
  • A fost adăugat un API experimental pentru paralelismul structurabil, care simplifică dezvoltarea aplicațiilor multi-thread prin gestionarea mai multor sarcini desfășurate în fluxuri diferite ca un singur bloc.

Sursa: opennet.ro

Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS 🔥 Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS | ProHoster