Lëshimi i Java SE 19

Pasik mĂ« shumĂ« se gjashtĂ« muaj zhvillimi, kompania Oracle lançou platformĂ«n Java SE 19 (Java Platform, Standard Edition 19), ku projekti i hapur OpenJDK shĂ«rben si njĂ« realizim standard. PĂ«rveç largimit tĂ« disa funksionaliteteve tĂ« vjetra, Java SE 19 ruan pĂ«rputhshmĂ«rinĂ« prapa me versionet e mĂ«parshme tĂ« platformĂ«s Java — shumica e projekteve Java tĂ« shkruara mĂ« parĂ« do tĂ« funksionojnĂ« pa ndryshime nĂ«n menaxhimin e versionit tĂ« ri. NdĂ«rtesat e gatshme pĂ«r tu instaluar tĂ« Java SE 19 (JDK, JRE dhe Server JRE) janĂ« pĂ«rgatitur pĂ«r Linux (x86_64, AArch64), Windows (x86_64) dhe macOS (x86_64, AArch64). Realizimi standard i Java 19, i zhvilluar nĂ« kuadĂ«r tĂ« projektit OpenJDK, Ă«shtĂ« plotĂ«sisht i hapur nĂ«n licencĂ«n GPLv2 me pĂ«rjashtime nga GNU ClassPath, qĂ« lejojnĂ« lidhjen dinamike me produkte komerciale.

Java SE 19 e kategorizuar si version me afat të zakonshëm mbështetje, përditësime për të cilin do të dalin deri në publikimin e versionit të ardhshëm. Si një degë e mbështetjes afatgjatë (LTS), duhet të përdoret Java SE 17, përditësimet për të cilin do të dalin deri në vitin 2029. Kujtojmë se që nga publikimi i Java 10, projekti ka kaluar në një proces të ri zhvillimi, që përfshin një cikël më të shkurtër për formimin e versioneve të reja. Funksionaliteti i ri tani zhvillohet në një degë master të përhershme që ndiqet nga rregullime të përgatitura dhe nga e cila cdo gjashtë muaj branch-e për stabilizimin e versioneve të reja krijohen.

Disa nga risitë në Java 19 përfshijnë:

  • KĂ«tu Ă«shtĂ« propozuar mbĂ«shtetje preliminare pĂ«r modelet e regjistrave (record pattern), qĂ« zgjeron mundĂ«sinĂ« e paraqitur nĂ« Java 16 pĂ«r pĂ«rputhjen me modele pĂ«rmes mjetesh pĂ«r analizimin e vlerave tĂ« klasave tĂ« tipit record. PĂ«r shembull: record Point(int x, int y) {} void printSum(Object o) { if (o instanceof Point(int x, int y)) { System.out.println(x+y); } }
  • NĂ« ndĂ«rtimet pĂ«r Linux Ă«shtĂ« siguruar mbĂ«shtetje pĂ«r arkitekturĂ«n RISC-V.
  • ËshtĂ« e shtuar mbĂ«shtetje preliminare pĂ«r API FFM (Foreign Function & Memory), e cila lejon ndĂ«rveprimin e programeve Java me kodin dhe tĂ« dhĂ«nat e jashtme pĂ«rmes thirrjeve tĂ« funksioneve nga bibliotekat e jashtme dhe qasjen nĂ« memorien jashtĂ« JVM.
  • ËshtĂ« e shtuar mbĂ«shtetje pĂ«r thurjet virtuale, tĂ« cilat janĂ« tĂ« lehta dhe ndihmojnĂ« nĂ« shkruan dhe mirĂ«mbajtjen e aplikacioneve tĂ« shumta me performancĂ« tĂ« lartĂ«.
  • Propozohet njĂ« realizim preliminar i katĂ«rt i API Vector, qĂ« ofron funksione pĂ«r llogaritjet vektoriale, tĂ« cilat realizohen duke pĂ«rdorur urdhrat vektorĂ« tĂ« procesorĂ«ve x86_64 dhe AArch64, duke lejuar aplikimin e operacioneve pĂ«r disa vlera njĂ«herĂ«sh (SIMD). Ndryshe nga mundĂ«sitĂ« e avtokodimit tĂ« operacioneve skalar nĂ« kompajlerin JIT HotSpot, API i ri ofron mundĂ«sinĂ« pĂ«r tĂ« menaxhuar qartĂ« vektorizimin pĂ«r pĂ«rpunimin paralele tĂ« tĂ« dhĂ«nave.
  • NjĂ« realizim eksperimental i tretĂ« i pĂ«rputhjes me model nĂ« shprehje «switch» Ă«shtĂ« shtuar, duke lejuar qĂ« nĂ« etiketat «case» tĂ« pĂ«rdoren jo vlera tĂ« sakta, por modele fleksibĂ«l qĂ« mbulojnĂ« menjĂ«herĂ« njĂ« seri vlerash, pĂ«r tĂ« cilat mĂ« parĂ« ishte e nevojshme tĂ« pĂ«rdoren zinxhirĂ« tĂ« gjatĂ« shprehjesh «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(); };
  • NjĂ« API eksperimental pĂ«r paralelizmin e strukturuar Ă«shtĂ« shtuar, i cili e bĂ«n mĂ« tĂ« thjeshtĂ« zhvillimin e aplikacioneve tĂ« shumta pĂ«rmes menaxhimit tĂ« detyrave tĂ« shumta qĂ« realizohen nĂ« rrjedha tĂ« ndryshme si njĂ« bllok i vetĂ«m.

Burimi: opennet.ru

Bleni hostim tĂ« besueshĂ«m pĂ«r faqe me mbrojtje nga DDoS, serverĂ« VPS VDS đŸ”„ Bleni hostim tĂ« besueshĂ«m pĂ«r faqe me mbrojtje nga DDoS, serverĂ« VPS VDS | ProHoster