Lëshimi i Java SE 19

Pas pas gjasht muajsh zhvillimi, kompania Oracle publikoi platformĂ«n Java SE 19 (Java Platform, Standard Edition 19), pĂ«r realizimin e sĂ« cilĂ«s pĂ«rdoret projekti i hapur OpenJDK. PĂ«rveç heqjes sĂ« disa funksionaliteteve tĂ« vjetra, Java SE 19 ruan pĂ«rputhshmĂ«rinĂ« prapa me versionet e kaluara 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Ă«rtime tĂ« gatshme pĂ«r instalim pĂ«r 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 i rekomanduar i Java 19, i zhvilluar nĂ« kuadĂ«r tĂ« projektit OpenJDK, Ă«shtĂ« plotĂ«sisht i hapur nĂ«n licencĂ«n GPLv2 me pĂ«rjashtime tĂ« GNU ClassPath, qĂ« lejojnĂ« lidhjen dinamike me produkte komerciale.

Java SE 19 është klasifikuar si një version me mbështetje të zakonshme, për të cilin përditësimet do të lëshohen deri në lansimin e ardhshëm. Si degë me mbështetje afatgjatë (LTS) duhet të përdoret Java SE 17, përditësimet e të cilës do të lëshohen deri në vitin 2029. Kujtojmë se, që nga lëshimi i Java 10, projekti kaloi në një proces të ri zhvillimi, që nënkupton një cikël më të shkurtër për formimin e lëshimeve të reja. funksionaliteti i ri tani zhvillohet në një degë master që përditësohet vazhdimisht, në të cilin përfshihen ndryshime të gatshme dhe nga e cila ndahen degë për stabilizimin e lëshimeve të reja çdo gjashtë muaj.

Nga novitetet e Java 19 mund të përmenden:

  • ËshtĂ« propozuar mbĂ«shtetje preliminare pĂ«r shabllonet e regjistrave (record pattern), qĂ« zgjeron mundĂ«sinĂ« e futur nĂ« Java 16 pĂ«r pĂ«rputhshmĂ«rinĂ« me modelet pĂ«rmes mjeteve 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Ă« shtuar mbĂ«shtetje preliminare pĂ«r API FFM (Foreign Function & Memory), qĂ« lejon organizimin e bashkĂ«punimit tĂ« programeve Java me kodin dhe tĂ« dhĂ«nat e jashtme pĂ«rmes thirrjes sĂ« funksioneve nga biblioteka tĂ« jashtme dhe qasjes nĂ« kujtesĂ«n jashtĂ« JVM.
  • ËshtĂ« shtuar mbĂ«shtetje pĂ«r rrjedhat virtuale, qĂ« pĂ«rfaqĂ«sojnĂ« rrjedha tĂ« lehta, duke e bĂ«rĂ« shumĂ« mĂ« tĂ« lehtĂ« shkruan dhe mbajtur aplikacione shumĂ«thjeshtore me performancĂ« tĂ« lartĂ«.
  • PĂ«r versionin e katĂ«rt tĂ« API Vector Ă«shtĂ« ofruar njĂ« implementim paraprak, qĂ« ofron funksione pĂ«r llogaritjet vektoriale, tĂ« cilat kryhen nĂ«pĂ«rmjet instruksioneve vektoriale tĂ« procesorĂ«ve x86_64 dhe AArch64, dhe lejon aplikimin e operacioneve njĂ«herĂ«sh ndaj disa vlerave (SIMD). Ndryshe nga mundĂ«sitĂ« e avtokompilimit tĂ« operacioneve skalarĂ« qĂ« ofrohen nga JIT-kompilatori HotSpot, API i ri lejon menaxhimin e qartĂ« tĂ« vektorizimit pĂ«r pĂ«rpunimin paralel tĂ« tĂ« dhĂ«nave.
  • ËshtĂ« shtuar njĂ« implementim eksperimental i tretĂ« i pĂ«rputhjes pĂ«r shabllon nĂ« shprehjet «switch», i cili lejon nĂ« etiketat «case» pĂ«rdorimin e shablloneve fleksibĂ«l, qĂ« pĂ«rfshijnĂ« njĂ« seri vlerash, pĂ«r tĂ« cilat mĂ« parĂ« duhej tĂ« pĂ«rdornin zinxhirĂ« tĂ« ngarkuar 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, duke thjeshtuar zhvillimin e aplikacioneve me shumĂ« thread, duke trajtuar disa detyra tĂ« kryera nĂ« thread tĂ« ndryshme si njĂ« blok tĂ« vetĂ«m.

Burimi: opennet.ru

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