Java SE 19 bertsioa

Sei hilabeteko garapenaren ondoren, Oracle-k Java SE 19 (Java Platform, Standard Edition 19) kaleratu zuen, kode irekiko OpenJDK proiektua erreferentziazko inplementazio gisa erabiltzen duena. Ezaugarri zaharkitu batzuk kentzea izan ezik, Java SE 19-k atzerako bateragarritasuna mantentzen du Java plataformaren aurreko bertsioekin - lehen idatzitako Java proiektu gehienek aldaketarik gabe funtzionatuko dute bertsio berriarekin exekutatzen direnean. Java SE 19 (JDK, JRE eta Server JRE) instalatzeko prest dauden eraikuntzak Linux (x86_64, AArch64), Windows (x86_64) eta macOS (x86_64, AArch64) prestatuta daude. OpenJDK proiektuak garatua, Java 19 erreferentziako inplementazioa guztiz irekia da GPLv2 lizentziapean, eta GNU ClassPath-en salbuespenek produktu komertzialekin lotura dinamikoa ahalbidetzen dute.

Java SE 19 ohiko laguntza-oharra gisa sailkatuta dago eta eguneraketak jasotzen jarraituko du hurrengo bertsiora arte. Epe Luzeko Laguntza (LTS) adarrak Java SE 17 izan behar du, eta eguneraketak jasotzen jarraituko du 2029ra arte. Gogora dezagun Java 10 kaleratzetik hasita, proiektua garapen prozesu berri batera aldatu zela, bertsio berrien eraketarako ziklo laburragoa suposatuz. Gaur egun, funtzionalitate berriak etengabe eguneratutako adar nagusi batean garatzen dira, prest egindako aldaketak barne hartzen dituena eta bertatik sei hilabetean behin adarrak adarkatzen dira bertsio berriak egonkortzeko.

Java 19-en eginbide berriak hauek dira:

  • Erregistro-ereduetarako aurretiazko euskarria proposatu da, Java 16-n sartutako ereduak parekatzeko funtzioa erregistro-klaseen balioak analizatzeko tresnekin zabalduz. Adibidez: grabatu Point(int x, int y) {} void printSum(Object o) { if (o instanceof Point(int x, int y)) { System.out.println(x+y); }}
  • Linux eraikitzek RISC-V arkitekturarako euskarria eskaintzen dute.
  • FFM (Foreign Function & Memory) APIrako aurretiazko euskarria gehitu da, eta horri esker, Java programen elkarrekintza antola dezakezu kanpoko kode eta datuekin kanpoko liburutegietako funtzioetara deituz eta JVMtik kanpoko memoria sartuz.
  • Hari birtualen euskarria gehitu da, hari arinak dira, errendimendu handiko hari anitzeko aplikazioen idazketa eta mantentze-lanak asko errazten dituztenak.
  • Vector APIaren laugarren aurrebista bat proposatu da, x86_64 eta AArch64 prozesadoreetan bektore-argibideen bidez exekutatzen diren kalkulu bektorialetarako funtzioak eskainiz eta eragiketak balio anitzetan (SIMD) aldi berean aplikatzeko aukera ematen dutenak. HotSpot JIT konpiladoreak eragiketa eskalarren auto-vektorizaziorako eskaintzen dituen gaitasunekin ez bezala, API berriak datu paraleloen prozesamendurako bektoreizazioa esplizituki kontrolatzea ahalbidetzen du.
  • "Switch" esamoldeetan ereduen bat etortzearen hirugarren inplementazio esperimental bat gehitu da, "kasu" etiketetan balio zehatzak ez, baizik eta aldi berean balio sorta bat hartzen duten eredu malguak erabiltzea ahalbidetzen duena, eta horretarako beharrezkoa zen aurretik. erabili β€œbaldin... bestela” esapideen kate astunak. Objektua o = 123L; String formatua = switch (o) { case Integer i -> String.format("int %d", i); case Long l -> String.format("luzea %d", l); case d Bikoitza -> String.format("%f bikoitza", d); case String s -> String.format("String %s", s); lehenetsia -> o.toString(); };
  • Paralelismo egituraturako API esperimental bat gehitu da, hari anitzeko aplikazioen garapena errazten duena hari ezberdinetan exekutatzen diren hainbat ataza bloke bakar gisa tratatuz.

Iturria: opennet.ru

Gehitu iruzkin berria