Ukukhutshwa kweJava SE19

Emva kweenyanga ezintandathu zophuhliso, i-Oracle ikhuphe i-Java SE 19 (i-Java Platform, i-Standard Edition 19) iqonga, esebenzisa iprojekthi yomthombo ovulekileyo we-OpenJDK njengokuphunyezwa kwereferensi. Ngaphandle kokususwa kwezinye iimpawu ezithotyiweyo, iJava SE 19 igcina ukuhambelana ngasemva kunye nokukhutshwa kwangaphambili kweqonga leJava-ininzi yeeprojekthi ezibhalwe ngaphambili zeJava zisasebenza ngaphandle kokuguqulwa xa ziqhutywa phantsi koguqulelo olutsha. Izakhiwo ezifakelwayo zeJava SE 19 (JDK, JRE, kunye ne-Server JRE) zilungiselelwe iLinux (x86_64, AArch64), Windows (x86_64), kunye ne-macOS (x86_64, AArch64). Iphuhliswe yiprojekthi ye-OpenJDK, ukuphunyezwa kwereferensi ye-Java 19 ngumthombo ovulekileyo ngokupheleleyo phantsi kwelayisensi ye-GPLv2 kunye ne-GNU ClassPath ngaphandle kokuvumela ukudibanisa okuguquguqukayo kwiimveliso zorhwebo.

IJava SE 19 ihlelwa njengokukhutshwa kwenkxaso jikelele kwaye iya kuqhubeka ifumana uhlaziyo kude kube kukukhululwa okulandelayo. I-Long Term Support (LTS) yesebe kufuneka ibe yiJava SE 17, eya kuqhubeka ifumana ukuhlaziywa kude kube yi-2029. Masikukhumbuze ukuba ukuqala ngokukhululwa kwe-Java 10, iprojekthi itshintshele kwinkqubo entsha yophuhliso, ethetha umjikelezo omfutshane wokuqulunqwa kwezinto ezintsha. Ukusebenza okutsha ngoku kuyaphuhliswa kwisebe eliphambili elihlala lihlaziywa, elibandakanya iinguqu esele zenziwe kwaye amasebe afakwa kuwo rhoqo emva kweenyanga ezintandathu ukuzinzisa ukukhutshwa okutsha.

Iimpawu ezintsha kwiJava 19 ziquka:

  • Inkxaso yokuqala yeepateni zerekhodi iye yacetywa, ukwandisa ipateni yokulinganisa inqaku elaziswa kwiJava 16 ngezixhobo zokwahlula amaxabiso eeklasi zerekhodi. Umzekelo: Indawo yokurekhoda(int x, int y) {} i-void printSum(Object o) { ukuba (o exampleof Point(int x, int y)) { System.out.println(x+y); }}
  • Ulwakhiwo lweLinux lubonelela ngenkxaso yoyilo lwe-RISC-V.
  • Ukongezwa kwenkxaso yokuqala ye-FFM (i-Foreign Function & Memory) API, evumela ukuba uququzelele ukusebenzisana kweenkqubo zeJava kunye nekhowudi yangaphandle kunye nedatha ngokubiza imisebenzi evela kwiilayibrari zangaphandle kunye nokufikelela kwimemori ngaphandle kwe-JVM.
  • Inkxaso eyongeziweyo kwimisonto ebonakalayo, eyimisonto ekhaphukhaphu eyenza lula kakhulu ukubhala kunye nokugcinwa kwezicelo eziphezulu ezinemisonto emininzi.
  • Umboniso wesine weVector API ucetyiwe, ubonelela ngemisebenzi yezibalo zevektha ezenziwa kusetyenziswa imiyalelo ye-vector kwi-x86_64 kunye ne-AArch64 processors kwaye ivumela imisebenzi ukuba isetyenziswe ngaxeshanye kumaxabiso amaninzi (SIMD). Ngokungafaniyo nesakhono esinikwe kwi-HotSpot JIT compiler ye-auto-vectorization ye-scalar operations, i-API entsha yenza ukuba kube lula ukulawula ngokucacileyo i-vectorization yokucubungula idatha efanayo.
  • Ukuphunyezwa kovavanyo lwesithathu lokuthelekisa ipateni kumagama athi "tshintshi" yongezwe, ivumela ukusetyenziswa kweelebhile "kwimeko" engeyiyo yexabiso elichanekileyo, kodwa yeepateni eziguquguqukayo ezigubungela uluhlu lwamaxabiso ngaxeshanye, apho ngaphambili bekufuneka ukuba sebenzisa imixokelelwane enzima yebinzana elithi "ukuba...enye". Into o = 123L; Umtya ohleliweyo = tshintsha (o) { case Integer i -> String.format("int %d", i); ityala Long l -> String.format("ende %d", l); icala kabini d -> String.format("double %f", d); icala Umtya s -> Umtya.format("Umtya %s", s); okungagqibekanga -> o.toString(); };
  • Kongezwe i-API yovavanyo yokuhambelana okucwangcisiweyo, okwenza kube lula ukuphuhliswa kwezicelo ezinemisonto emininzi ngokuphatha imisebenzi emininzi esebenza kwimisonto eyahlukeneyo njengebhloko enye.

umthombo: opennet.ru

Yongeza izimvo