Scaoileadh ardán Java SE 22 agus cur i bhfeidhm tagartha oscailte OpenJDK 22

Tar éis sé mhí forbartha, d'eisigh Oracle Java SE 22 (Java Platform, Standard Edition 22), a úsáideann an tionscadal foinse oscailte OpenJDK mar chur i bhfeidhm tagartha. Cé is moite de roinnt gnéithe as feidhm a bhaint, coinníonn Java SE 22 comhoiriúnacht siar le heisiúintí an ardáin Java roimhe seo - oibreoidh formhór na dtionscadal Java a scríobhadh roimhe seo gan athruithe nuair a reáchtáiltear iad faoin leagan nua. Ullmhaítear foirgnimh atá réidh le suiteáil de Java SE 22 (JDK, JRE agus Server JRE) le haghaidh Linux (x86_64, AArch64), Windows (x86_64) agus macOS (x86_64, AArch64). Arna fhorbairt ag an tionscadal OpenJDK, tá cur i bhfeidhm tagartha Java 22 foinse oscailte go hiomlán faoin gceadúnas GPLv2, le heisceachtaí GNU ClassPath a cheadaíonn nascadh dinimiciúil le táirgí tráchtála.

Tá Java SE 22 rangaithe mar scaoileadh tacaíochta rialta agus leanfaidh sé de bheith ag fáil nuashonruithe go dtí an chéad scaoileadh eile. Ba cheart go mbeadh an brainse Tacaíocht Fadtéarmach (LTS) Java SE 21 nó Java SE 17, a gheobhaidh nuashonruithe go dtí 2031 agus 2029, faoi seach (ar fáil go ginearálta go dtí 2028 agus 2026). Tháinig deireadh le tacaíocht phoiblí do bhrainse LTS de Java SE 11 Meán Fómhair seo caite, ach leanfar leis an tacaíocht leathnaithe go dtí 2032. Leanfaidh tacaíocht leathnaithe do bhrainse LTS de Java SE 8 go dtí 2030.

Cuirfimid i gcuimhne duit, ag tosú le scaoileadh Java 10, gur aistrigh an tionscadal go próiseas forbartha nua, rud a thugann timthriall níos giorra chun eisiúintí nua a fhoirmiú. Forbraítear feidhmiúlacht nua anois i máistirbhrainse amháin a nuashonraítear i gcónaí, lena n-áirítear athruithe réamhdhéanta agus as a ndéantar brainsí a chraobhscaoileadh gach sé mhí chun eisiúintí nua a chobhsú.

I measc na ngnéithe nua i Java 22 tá:

  • Áirítear le bailitheoir truflais G1 tacaíocht le haghaidh feannadh réigiúin, a ligeann duit suíomh rudaí Java a shocrú go sealadach i gcuimhne ionas nach n-aistríonn an bailitheoir truflais iad agus chun tagairtí do na rudaí seo a cheadú go sábháilte idir Java agus cód dúchais. Ligeann feannadh duit latency a laghdú agus díchumasú bailiú truflais a sheachaint nuair a fhorghníomhú réigiúin ríthábhachtach JNI (Java Dúchasach Chomhéadain) le cód dúchais (agus na hailt seo á fhorghníomhú, níor cheart don JVM rudaí criticiúla a bhaineann leo a bhogadh chun coinníollacha cine a sheachaint). Baineann feannadh rudaí criticiúla as radharc an bhailitheora truflais, ar féidir leis leanúint ar aghaidh ag glanadh limistéir gan phionnáil.
  • Tá réamhghné curtha leis chun go bhféadfar na habairtí a shonrú i dtógálaithe roimh ghlaoch ar shár(...), a úsáidtear chun tuismitheoir ranga a ghlaoch go sainráite ó chruthaitheoir ranga a fuair sé le hoidhreacht mura ndéanann na habairtí sin tagairt do chás a chruthaigh an cruthaitheoir. rang Amuigh { neamhní hello() { System.out.println("Dia duit"); } rang Istigh { Istigh() { hello(); sár(); } } }
  • Tá an API FFM (Feidhm & Cuimhne Eachtrach) cobhsaithe, rud a cheadaíonn idirghníomhú cláir Java le cód agus sonraí seachtracha trí ghlao a chur ar fheidhmeanna ó leabharlanna seachtracha agus rochtain a fháil ar chuimhne lasmuigh den JVM, gan dul i muinín JNI (Java Native Interface).
  • Cumasaíodh tacaíocht d’athróga gan ainm agus meaitseáil patrún - in ionad athróga agus patrúin nár úsáideadh ach atá riachtanach agus tú ag glaoch, is féidir leat an carachtar “_” a shonrú anois. // was String pageName = lasc (leathanach) { cás GitHubIssuePage(var url, var content, var links, int issueNumber) -> “ISSUE #” + issueNumber; ... }; // anois is féidir leat Teaghrán pageName = athrú (leathanach) { cás GitHubIssuePage(_, _, _, int issueNumber) -> “ISSUE #” + issueNumber; };
  • Tá réamh-chur i bhfeidhm an API Aicme-Comhad beartaithe chun comhaid ranga Java a pharsáil, a ghiniúint agus a thiontú. ClassFile cf = ClassFile.of(); ClassModel classModel = cf.parse(bearta); beart[] newBytes = cf.build(classModel.thisClass().asSymbol(), classBuilder -> { le haghaidh (ClassElement ce : classModel) { má tá (!(ce instanceof MethodModel mm && mm.methodName().stringValue(). startWith ("debug")) { classBuilder.with(ce);
  • Soláthraíonn an áirgiúlacht java an cumas chun cláir Java a rith, a sholáthraítear i bhfoirm roinnt comhad cóid nó leabharlanna ranga réamh-thiomsaithe, gan na comhaid seo a thiomsú ar leithligh agus gan an córas tógála a chumrú. Déanann an ghné nua sé níos éasca cláir a rith ina bhfuil cód na n-aicmí éagsúla deighilte i gcomhaid ar leith. Prog.java: aicme Prog { príomhlíonra poiblí statach neamhní (Teaghrán[] airgs) { Helper.run(); } } Helper.java: Class Helper { rith folamh statach() { System.out.println("Dia duit!"); } }

    Mar shampla, chun clár a reáchtáil comhdhéanta de dhá chomhad "Prog.java" agus "Helper.java" is leor anois "java Prog.java" a reáchtáil, a thiomsóidh an rang Prog, sainiú tagairt don rang Helper, aimsigh agus tiomsaigh an comhad Helper java agus cuir glaoch ar an bpríomh-mhodh.

  • Cuireadh leis an dara réamh-chur i bhfeidhm Teimpléad Teaghrán, curtha i bhfeidhm chomh maith le litreacha teaghrán agus bloic téacs. Ligeann teimpléid teaghráin duit téacs a chomhcheangal le habairtí ríofa agus athróga gan úsáid a bhaint as an oibreoir +. Déantar ionadú slonn ag baint úsáide as ionaid \{..}, agus is féidir láimhseálaithe speisialta a nascadh chun cruinneas na luachanna ionadacha a sheiceáil. Mar shampla, seiceálann inneall SQL na luachanna atá á n-ionadú isteach sa chód SQL agus cuireann sé réad java.sql.Statement ar ais mar aschur, agus déanann an próiseálaí JSON monatóireacht ar cruinneas na n-ionadaíochtaí JSON agus cuireann sé JsonNode ar ais. String query = "SELECT *Ó Duine p ÁIT p." + property + " = ' " + luach + "'"; // was Statement query = SQL."" "SELECT * FROM Person p WHERE p.\{property} = '\{value}'"""; // tháinig
  • Tá seachtú réamhamharc ar an Veicteoir API curtha leis, ag soláthar feidhmeanna le haghaidh ríomhaireachtaí veicteora a dhéantar ag baint úsáide as treoracha veicteoirí ar phróiseálaithe x86_64 agus AArch64 agus a cheadaíonn oibríochtaí a chur i bhfeidhm go comhuaineach ar illuachanna (SIMD). Murab ionann agus na cumais a chuirtear ar fáil i dtiomsaitheoir HotSpot JIT chun oibríochtaí scálach a uath-veicteoiriú, is féidir leis an API nua veicteoiriú a rialú go sainráite le haghaidh próiseála sonraí comhthreomhara.
  • Tá réamhchur chun feidhme an API Srutha sínte curtha leis a thacaíonn le d’oibríochtaí idirmheánacha féin a shainiú, a d’fhéadfadh a bheith úsáideach i gcásanna nach leor na hoibríochtaí idirmheánacha ionsuite atá ann cheana chun an claochlú sonraí atá ag teastáil a dhéanamh. Nasctar láimhseálaithe dúchasacha trí úsáid a bhaint as an oibríocht idirmheánach nua Stream::gather(Gatherer), a phróiseálann eilimintí srutha trí láimhseálaí atá sonraithe ag an úsáideoir a chur i bhfeidhm orthu. jshell> Stream.of(1,2,3,4,5,6,7,8,9).gather(Fuinneog nuaFixed(3)).toList() $1 ==> [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
  • Tá an dara leagan den API turgnamhach le haghaidh Concurrency Struchtúrtha molta le haghaidh tástála, a shimplíonn forbairt na n-iarratas il-snáithithe trí phróiseáil tascanna iolracha a fhorghníomhaítear i snáitheanna éagsúla mar bhloc amháin.
  • Cuireadh leis an dara réamhchur chun feidhme d’aicmí atá dearbhaithe go hintuigthe agus cásanna gan ainm den “príomh-mhodh”, ar féidir leo dearbhuithe poiblí/statacha a ligean thar ceal, raon argóintí a rith, agus eintitis eile a bhaineann le dearbhú aicme. // ba aicme phoiblí HelloWorld { príomhlíonra poiblí statach folamh (Teaghrán[] airgs) { System.out.println("Dia duit ar domhan!"); } } // anois is féidir leat an príomh() { System.out.println("Dia duit, a Dhomhanda!"); }
  • Cuireadh an dara réamhamharc leis ar chur i bhfeidhm Luachanna Scópáilte, rud a ligeann do shonraí domhalartaithe a roinnt thar snáitheanna agus sonraí a mhalartú go héifeachtach idir snáitheanna leanaí (tá luachanna le hoidhreacht). Tá Luachanna Scóip á bhforbairt chun meicníocht athróg áitiúil snáithe a chur in ionad agus tá siad níos éifeachtaí nuair a úsáidtear líon an-mhór snáitheanna fíorúla (na mílte nó na milliúin snáithe). Is í an phríomhdhifríocht idir Luachanna Scópáilte agus athróga snáithe-áitiúla ná go scríobhtar an chéad cheann uair amháin, nach féidir iad a athrú sa todhchaí, agus nach bhfanann siad ar fáil ach amháin ar feadh ré fhorghníomhaithe an tsnáithe.
  • Tá feidhmíocht feabhsaithe ag an mbailitheoir truflais Comhuaineach agus é ag obair le eagair mhóra rudaí. Mar gheall ar bharrfheabhsú bhí sé indéanta i roinnt tástálacha le eagair mhóra rudaí an mhoill a laghdú sular thosaigh tú ag cuardach réad faoi 20%.

Ina theannta sin, is féidir leat a thabhairt faoi deara foilsiú nuashonrú ar an ardán chun feidhmchláir a chruthú le comhéadan grafach JavaFX 22.

Foinse: oscailtenet.ru

Add a comment