Java SE 19 leidimas

Po šešių mėnesių kūrimo, „Oracle“ išleido „Java SE 19“ („Java Platform, Standard Edition 19“) platformą, kuri naudoja OpenJDK atvirojo kodo projektą kaip atskaitos įgyvendinimą. Išskyrus kai kurių pasenusių funkcijų pašalinimą, „Java SE 19“ palaiko atgalinį suderinamumą su ankstesniais „Java“ platformos leidimais – dauguma anksčiau parašytų „Java“ projektų vis tiek veiks be pakeitimų, kai bus vykdomi naudojant naują versiją. Diegiamos Java SE 19 versijos (JDK, JRE ir Server JRE) yra paruoštos Linux (x86_64, AArch64), Windows (x86_64) ir macOS (x86_64, AArch64). Sukurtas OpenJDK projekto, Java 19 nuorodos diegimas yra visiškai atviras pagal GPLv2 licenciją su GNU ClassPath išimtimis, kad būtų galima dinamiškai susieti su komerciniais produktais.

„Java SE 19“ klasifikuojama kaip įprastas palaikymo leidimas ir bus atnaujinamas iki kito leidimo. Ilgalaikio palaikymo (LTS) filialas turėtų būti Java SE 17, kuris ir toliau gaus atnaujinimus iki 2029 m. Priminsime, kad nuo „Java 10“ išleidimo projektas perėjo prie naujo kūrimo proceso, o tai reiškia trumpesnį naujų leidimų formavimo ciklą. Naujos funkcijos dabar sukurtos vienoje nuolat atnaujinamoje pagrindinėje šakoje, kuri apima paruoštus pakeitimus ir iš kurios šakos kas šešis mėnesius atšakojamos siekiant stabilizuoti naujus leidimus.

Naujos „Java 19“ funkcijos apima:

  • Buvo pasiūlytas preliminarus įrašų šablonų palaikymas, išplečiant „Java 16“ įdiegtą šablonų atitikimo funkciją įrašų klasių verčių analizavimo įrankiais. Pavyzdžiui: įrašas Taškas(int x, int y) {} void printSum(Object o) { if (o instanceof Point(int x, int y)) { System.out.println(x+y); } }
  • „Linux“ versijos palaiko RISC-V architektūrą.
  • Pridėtas preliminarus FFM (Foreign Function & Memory) API palaikymas, leidžiantis organizuoti Java programų sąveiką su išoriniu kodu ir duomenimis, iškviečiant funkcijas iš išorinių bibliotekų ir pasiekiant atmintį už JVM ribų.
  • Pridėtas palaikymas virtualioms gijomis, kurios yra lengvos gijos, kurios labai supaprastina didelio našumo kelių gijų programų rašymą ir priežiūrą.
  • Buvo pasiūlyta ketvirtoji Vector API peržiūra, teikianti vektorinių skaičiavimų funkcijas, kurios vykdomos naudojant vektorines komandas x86_64 ir AArch64 procesoriuose ir leidžiančios vienu metu taikyti operacijas kelioms reikšmėms (SIMD). Skirtingai nuo HotSpot JIT kompiliatoriaus galimybių, skirtų automatiniam skaliarinių operacijų vektorizavimui, nauja API leidžia aiškiai valdyti vektorizavimą lygiagrečiam duomenų apdorojimui.
  • Pridėtas trečiasis eksperimentinis modelių atitikimo „jungiklio“ išraiškose įgyvendinimas, leidžiantis „atvejo“ etiketėse naudoti ne tikslias reikšmes, o lanksčius modelius, apimančius eilę reikšmių vienu metu, kurioms anksčiau reikėjo naudokite sudėtingas „jei... kitaip“ posakių grandines. Objektas o = 123L; Styga suformatuota = jungiklis (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(); };
  • Pridėta eksperimentinė API, skirta struktūriniam lygiagretumui, kuri supaprastina kelių gijų programų kūrimą, nes kelias užduotis, vykdomas skirtingose ​​gijose, traktuoja kaip vieną bloką.

Šaltinis: opennet.ru

Добавить комментарий