Publikimi i Java SE 19

Pas gjashtë muajsh zhvillimi, Oracle ka lëshuar platformën Java SE 19 (Java Platform, Standard Edition 19), e cila përdor projektin OpenJDK me burim të hapur si një zbatim referencë. Me përjashtim të heqjes së disa veçorive të vjetruara, Java SE 19 ruan përputhshmërinë e prapambetur me versionet e mëparshme të platformës Java—shumica e projekteve Java të shkruara më parë do të vazhdojnë të funksionojnë pa modifikuar kur ekzekutohen sipas versionit të ri. Ndërtimet e instalueshme të Java SE 19 (JDK, JRE dhe Server JRE) përgatiten për Linux (x86_64, AArch64), Windows (x86_64) dhe macOS (x86_64, AArch64). Zhvilluar nga projekti OpenJDK, zbatimi i referencës Java 19 është plotësisht me burim të hapur nën licencën GPLv2 me përjashtime të GNU ClassPath për të lejuar lidhjen dinamike me produktet komerciale.

Java SE 19 kategorizohet si një version i rregullt mbështetës, me përditësime që do të lëshohen përpara lëshimit të ardhshëm. Dega Long Term Support (LTS) duhet të jetë Java SE 17, e cila do të marrë përditësime deri në vitin 2029. Kujtojmë se duke filluar me lëshimin e Java 10, projekti kaloi në një proces të ri zhvillimi, i cili nënkupton një cikël më të shkurtër për formimin e publikimeve të reja. Funksionaliteti i ri po zhvillohet tani në një degë kryesore të përditësuar vazhdimisht, e cila përfshin ndryshime tashmë të përfunduara dhe nga e cila degët degëzohen çdo gjashtë muaj për të stabilizuar publikimet e reja.

Karakteristikat e reja në Java 19 përfshijnë:

  • Është propozuar mbështetje paraprake për modelet e regjistrimit, duke zgjeruar aftësinë e përputhjes së modelit Java 16 për të analizuar vlerat e klasave të tipit të regjistrimit. Për shembull: rekord Point(int x, int y) {} void printSum(Object o) { if (o instance of Point(int x, int y)) { System.out.println(x+y); } }
  • Ndërtimet Linux ofrojnë mbështetje për arkitekturën RISC-V.
  • Mbështetje paraprake e shtuar për API-në FFM (Funksioni dhe Kujtesa e Huaja), e cila ju lejon të organizoni ndërveprimin e programeve Java me kodin dhe të dhënat e jashtme nëpërmjet thirrjeve të funksioneve nga bibliotekat e jashtme dhe aksesit të memories jashtë JVM.
  • Mbështetje e shtuar për temat virtuale, të cilat janë tema të lehta që thjeshtojnë shumë shkrimin dhe mirëmbajtjen e aplikacioneve me shumë fije me performancë të lartë.
  • Propozohet zbatimi i katërt paraprak i Vector API, i cili siguron funksione për llogaritjet e vektorit që kryhen duke përdorur udhëzimet vektoriale të procesorëve x86_64 dhe AArch64 dhe ju lejojnë të aplikoni njëkohësisht operacione në disa vlera në të njëjtën kohë (SIMD). Ndryshe nga aftësitë e ofruara në përpiluesin HotSpot JIT për autovektorizimin e operacioneve skalar, API i ri bën të mundur kontrollin e qartë të vektorizimit për përpunimin paralel të të dhënave.
  • Është shtuar një zbatim i tretë eksperimental i përputhjes së modeleve në shprehjet e ndërprerës, i cili lejon përdorimin e shablloneve fleksibël në etiketat e rasteve që mbulojnë një sërë vlerash menjëherë, për të cilat ishin përdorur më parë zinxhirë të rëndë të deklaratave if...else. Objekti o = 123L; String formatted = switch (o) { case Numri i plotë 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(); };
  • Është shtuar një API eksperimentale e paralelizmit të strukturuar që e bën më të lehtë zhvillimin e aplikacioneve me shumë fije duke trajtuar detyra të shumta që ekzekutohen në fije të ndryshme si një njësi e vetme.

Burimi: opennet.ru

Shto një koment