Java SE 20 saor an asgaidh

Às deidh sia mìosan de leasachadh, leig Oracle a-mach Java SE 20 (Java Platform, Standard Edition 20), a bhios a ’cleachdadh a’ phròiseact stòr fosgailte OpenJDK mar bhuileachadh iomraidh. Ach a-mhàin a bhith a’ toirt air falbh cuid de fheartan nach eil air an cleachdadh, tha Java SE 20 a’ cumail suas co-chòrdalachd air ais le fiosan a chaidh fhoillseachadh roimhe den àrd-ùrlar Java - obraichidh a’ mhòr-chuid de phròiseactan Java a chaidh a sgrìobhadh roimhe gun atharrachaidhean nuair a thèid an ruith fon dreach ùr. Tha togalaichean deiseil airson an stàladh de Java SE 20 (JDK, JRE agus Server JRE) air an ullachadh airson Linux (x86_64, AArch64), Windows (x86_64) agus macOS (x86_64, AArch64). Air a leasachadh leis a’ phròiseact OpenJDK, tha buileachadh iomraidh Java 20 gu tur fosgailte fo chead GPLv2, le eisgeachdan GNU ClassPath a’ ceadachadh ceangal fiùghantach le toraidhean malairteach.

Tha Java SE 20 air a chomharrachadh mar sgaoileadh taic cunbhalach agus cumaidh e a’ faighinn ùrachaidhean gus an ath fhoillseachadh. Bu chòir gum biodh am meur Taic Fad-ùine (LTS) Java SE 17, a chumas air adhart a’ faighinn ùrachaidhean gu 2029. Leig dhuinn do chuimhneachadh, a’ tòiseachadh le sgaoileadh Java 10, gun do thionndaidh am pròiseact gu pròiseas leasachaidh ùr, a’ ciallachadh cearcall nas giorra airson fiosan ùra a chruthachadh. Tha comas-gnìomh ùr a-nis air a leasachadh ann an aon phrìomh mheur a tha air ùrachadh gu cunbhalach, a tha a’ toirt a-steach atharrachaidhean deiseil agus às am bi meuran air an cur còmhla gach sia mìosan gus fiosan ùra a dhèanamh seasmhach.

Am measg nam feartan ùra ann an Java 20 tha:

  • Tha taic tòiseachaidh ann airson Luachan Sgòpte, a’ leigeil le dàta nach gabh atharrachadh a bhith air a cho-roinn thar snàithleanan agus dàta a thoirt seachad gu h-èifeachdach eadar snàithleanan cloinne (tha luachan air an sealbhachadh). Thathas a’ leasachadh Luachan le farsaingeachd gus an uidheamachd caochladairean ionadail snàithlean a chur an àite agus tha iad nas èifeachdaiche nuair a thathar a’ cleachdadh àireamhan mòra de snàithleanan mas-fhìor (mìltean no milleanan de snàithleanan). Is e am prìomh eadar-dhealachadh eadar Luachan Scoped agus caochladairean snàithle-ionadail gu bheil a’ chiad fhear sgrìobhte aon uair, nach gabh atharrachadh san àm ri teachd, agus nach bi iad rim faighinn ach fhad ‘s a thèid an t-snàthainn a chur an gnìomh. frithealaiche clas { ScopedValue statach deireannach CURRENT_USER = Luach Scoped ùr (); seirbheis falamh (Iarrtas iarrtas, Freagairt freagairt) { var level = (iarrtas. isAuthorized()? ADMIN : GUEST); var user = cleachdaiche ùr (ìre); ScopedValue.where(CURRENT_USER, user).run(() -> Application.handle(iarrtas, freagairt)); } } clas DatabaseManager { DBConnection open () { var user = Server.CURRENT_USER.get (); ma tha (!user.canOpen()) tilg InvalidUserException(); tilleadh DBConnection ùr (...); } }
  • Chaidh dàrna ro-shealladh de phàtranan clàraidh a chuir ris, a’ leudachadh am feart maidsidh pàtrain a chaidh a thoirt a-steach ann an Java 16 gus luachan nan clasaichean clàraidh a pharsadh. Mar eisimpleir: clàraich Point (int x, int y) {} static void printSum (Rud obj) { ma tha (obj eisimpleir Puing p) { int x = px (); int y = py(); System.out.println(x+y); } }
  • Chaidh ceathramh buileachadh tòiseachaidh de mhaidseadh pàtrain ann an aithrisean “switch” a chur ris, a’ leigeil le bileagan “cùis” a bhith a’ cleachdadh chan e luachan mionaideach, ach pàtrain sùbailte a tha a’ còmhdach sreath de luachan aig an aon àm, airson an robh e riatanach roimhe seo cleachdadh trom. slabhraidhean abairtean “ma tha...eile”. formatter String statachPatternSwitch(Rud obj) { tionndadh tilleadh (obj) { cùis Integer i -> String.format ("int %d", i); cùis Long l -> String.format ("fada %d", l); cùis Dùbailte d -> String.format ("dùbailte %f", d); cùis String s -> String.format ("String %s", s); bunaiteach -> o.toString(); }; }
  • Chaidh dàrna buileachadh tòiseachaidh den API FFM (Foreign Function & Memory) a chur ris, a leigeas leat eadar-obrachadh phrògraman Java le còd agus dàta bhon taobh a-muigh a chuir air dòigh tro bhith a’ gairm ghnìomhan bho leabharlannan taobh a-muigh agus a’ faighinn cothrom air cuimhne taobh a-muigh an JVM.
  • Chaidh dàrna ro-shealladh de snàithleanan brìgheil a chuir ris, a tha nan snàithleanan aotrom a tha gu mòr a’ sìmpleachadh sgrìobhadh agus a ’cumail suas tagraidhean ioma-snàithlean àrd-choileanaidh.
  • Chuir sinn dàrna API deuchainneach ris airson co-shìnteachd structarail, a nì sìmpleachadh air leasachadh thagraidhean ioma-snàthainn le bhith a’ làimhseachadh ioma-ghnìomhan a’ ruith ann an diofar snàithleanan mar aon bhloca.
  • Chaidh an còigeamh ro-shealladh den Vector API a chuir ris, a’ toirt seachad gnìomhan airson àireamhachadh vector a thèid a dhèanamh a’ cleachdadh stiùireadh vector air pròiseasairean x86_64 agus AArch64 agus a’ ceadachadh obrachaidhean a chuir an sàs aig an aon àm ri ioma luachan (SIMD). Eu-coltach ris na comasan a tha air an toirt seachad ann an inneal-cruinneachaidh HotSpot JIT airson fèin-fhactaraidh gnìomhachd scalar, tha an API ùr ga dhèanamh comasach smachd sònraichte a chumail air vectarization airson giullachd dàta co-shìnte.

Source: fosgailtenet.ru

Cuir beachd ann