Versiunea Java SE 19

După șase luni de dezvoltare, Oracle a lansat platforma Java SE 19 (Java Platform, Standard Edition 19), care folosește proiectul open source OpenJDK ca implementare de referință. Cu excepția eliminării unor caracteristici depreciate, Java SE 19 menține compatibilitatea cu versiunile anterioare ale platformei Java – majoritatea proiectelor Java scrise anterior vor funcționa în continuare fără modificări atunci când sunt rulate sub noua versiune. Versiunile gata de instalare ale Java SE 19 (JDK, JRE și Server JRE) sunt pregătite pentru Linux (x86_64, AArch64), Windows (x86_64) și macOS (x86_64, AArch64). Dezvoltată de proiectul OpenJDK, implementarea de referință Java 19 este complet open source sub licența GPLv2 cu excepții GNU ClassPath pentru a permite conectarea dinamică la produsele comerciale.

Java SE 19 este clasificat ca o versiune de asistență generală și va continua să primească actualizări până la următoarea ediție. Suportul pe termen lung (LTS) ar trebui să fie Java SE 17, care va continua să primească actualizări până în 2029. Să vă reamintim că începând cu lansarea Java 10, proiectul a trecut la un nou proces de dezvoltare, implicând un ciclu mai scurt pentru formarea de noi versiuni. Noua funcționalitate este acum dezvoltată într-o ramură principală actualizată constant, care include modificări gata făcute și din care ramurile sunt ramificate la fiecare șase luni pentru a stabiliza noile versiuni.

Noile funcții din Java 19 includ:

  • S-a propus suport preliminar pentru modelele de înregistrare, extinzând caracteristica de potrivire a modelelor introdusă în Java 16 cu instrumente pentru analizarea valorilor claselor de înregistrări. 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); } }
  • Build-urile Linux oferă suport pentru arhitectura RISC-V.
  • S-a adăugat suport preliminar pentru API-ul FFM (Foreign Function & Memory), care vă permite să organizați interacțiunea programelor Java cu cod și date externe apelând funcții din biblioteci externe și accesând memorie în afara JVM.
  • S-a adăugat suport pentru fire virtuale, care sunt fire ușoare care simplifică foarte mult scrierea și întreținerea aplicațiilor cu mai multe fire de înaltă performanță.
  • A fost propusă o a patra previzualizare a API-ului Vector, care oferă funcții pentru calcule vectoriale care sunt executate folosind instrucțiuni vectoriale pe procesoarele x86_64 și AArch64 și permit operațiunilor să fie aplicate simultan la mai multe valori (SIMD). Spre deosebire de capabilitățile oferite de compilatorul HotSpot JIT pentru vectorizarea automată a operațiunilor scalare, noul API face posibilă controlul explicit al vectorizării pentru procesarea paralelă a datelor.
  • A fost adăugată o a treia implementare experimentală a potrivirii modelelor în expresiile „comutați”, permițând etichetelor „caz” să folosească nu valori exacte, ci modele flexibile care acoperă o serie de valori simultan, pentru care anterior era necesar să se utilizeze lanțuri greoaie a expresiilor „dacă...altfel”. Obiect o = 123L; String formatat = 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("Șir %s", s); implicit -> o.toString(); };
  • S-a adăugat un API experimental pentru paralelism structurat, care simplifică dezvoltarea aplicațiilor cu mai multe fire prin tratarea sarcinilor multiple care rulează în fire diferite ca un singur bloc.

Sursa: opennet.ru

Adauga un comentariu