Izdaja Java SE 19

Po šestih mesecih razvoja je Oracle izdal platformo Java SE 19 (Java Platform, Standard Edition 19), ki kot referenčno izvedbo uporablja odprtokodni projekt OpenJDK. Z izjemo odstranitve nekaterih zastarelih funkcij Java SE 19 ohranja povratno združljivost s prejšnjimi izdajami platforme Java – večina predhodno napisanih projektov Java bo še vedno delovala brez sprememb, ko se izvajajo v novi različici. Za namestitev pripravljene različice Java SE 19 (JDK, JRE in Server JRE) so pripravljene za Linux (x86_64, AArch64), Windows (x86_64) in macOS (x86_64, AArch64). Referenčna izvedba Java 19, ki jo je razvil projekt OpenJDK, je popolnoma odprtokodna pod licenco GPLv2 z izjemami GNU ClassPath, ki omogočajo dinamično povezovanje s komercialnimi izdelki.

Java SE 19 je kategorizirana kot izdaja redne podpore, s posodobitvami, ki bodo izdane pred naslednjo izdajo. Veja dolgoročne podpore (LTS) bi morala biti Java SE 17, ki bo prejemala posodobitve do leta 2029. Spomnimo se, da je projekt z izdajo Jave 10 prešel na nov razvojni proces, kar pomeni krajši cikel za oblikovanje novih izdaj. Nova funkcionalnost se zdaj razvija v eni stalno posodobljeni glavni veji, ki vključuje že dokončane spremembe in iz katere se veje razvejajo vsakih šest mesecev za stabilizacijo novih izdaj.

Nove funkcije v Javi 19 vključujejo:

  • Predlagana je bila predhodna podpora za vzorce zapisa, ki razširja zmožnost ujemanja vzorcev Java 16 za razčlenitev vrednosti razredov tipa zapis. Na primer: zapis Point(int x, int y) {} void printSum(Object o) { if (o instanceof Point(int x, int y)) { System.out.println(x+y); }}
  • Zgradbe Linuxa zagotavljajo podporo za arhitekturo RISC-V.
  • Dodana predhodna podpora za FFM (Foreign Function & Memory) API, ki vam omogoča organiziranje interakcije programov Java z zunanjo kodo in podatki prek klicanja funkcij iz zunanjih knjižnic in dostopa do pomnilnika zunaj JVM.
  • Dodana podpora za navidezne niti, ki so lahke niti, ki močno poenostavijo pisanje in vzdrževanje visoko zmogljivih večnitnih aplikacij.
  • Predlagana je četrta predhodna izvedba vektorskega API-ja, ki zagotavlja funkcije za vektorske izračune, ki se izvajajo z vektorskimi navodili procesorjev x86_64 in AArch64 in vam omogočajo hkratno uporabo operacij za več vrednosti hkrati (SIMD). Za razliko od zmožnosti prevajalnika HotSpot JIT za samodejno vektorizacijo skalarnih operacij novi API omogoča izrecno nadzorovanje vektorizacije za vzporedno obdelavo podatkov.
  • Dodana je bila tretja eksperimentalna izvedba ujemanja vzorcev v preklopnih izrazih, ki omogoča uporabo prilagodljivih predlog v oznakah velikih in velikih primerov, ki pokrivajo vrsto vrednosti hkrati, za katere so bile prej uporabljene okorne verige izjav if...else. Objekt o = 123L; String formatted = switch (o) { case Integer i -> String.format("int %d", i); case Long l -> String.format("dolg %d", l); case Double d -> String.format("double %f", d); case String s -> String.format("Niz %s", s); privzeto -> o.toString(); };
  • Dodan je bil eksperimentalni API za strukturirani paralelizem, ki olajša razvoj večnitnih aplikacij z obravnavanjem več nalog, ki se izvajajo v različnih nitih, kot eno samo enoto.

Vir: opennet.ru

Dodaj komentar