Java SE 18 kuburitswa

Mushure memwedzi mitanhatu yebudiriro, Oracle yakaburitsa Java SE 18 (Java Platform, Standard Edition 18) chikuva, icho chinoshandisa OpenJDK yakavhurika sosi purojekiti sereferensi yekushandisa. Kunze kwekubviswa kwemamwe maficha akaregwa, Java SE 18 inochengetedza kuenderana nekumashure kuburitswa kweJava papuratifomu-akawanda akanyorwa kare mapurojekiti eJava acharamba achishanda pasina kugadziridzwa kana ichiitwa pasi peiyo vhezheni itsva. Inogadzika inovakwa yeJava SE 18 (JDK, JRE, uye Server JRE) yakagadzirirwa Linux (x86_64, AArch64), Windows (x86_64), uye macOS (x86_64, AArch64). Yakagadzirwa neiyo OpenJDK purojekiti, iyo Java 18 referensi yekumisikidza yakavhurwa sosi pasi peGPLv2 rezinesi ine GNU ClassPath kunze kwekubvumira kubatanidza kune zvigadzirwa zvekutengesa.

Java SE 18 yakarongedzerwa seyakajairwa tsigiro kuburitswa, ine zvigadziriso zvinoburitswa isati yaburitswa. Iyo Yenguva Yakareba Rutsigiro (LTS) bazi rinofanira kunge riri Java SE 17, iyo inogashira zvigadziriso kusvika 2029. Rangarira kuti kutanga nekuburitswa kweJava 10, purojekiti yakachinjira kune imwe nzira yekuvandudza, iyo inoreva kupfupika kutenderera kwekugadzirwa kwezvinoburitswa zvitsva. Kushanda kutsva kuri kuvandudzwa mune rimwe rinogara rakagadziridzwa master bazi, iro rinobatanidza shanduko dzakatopera uye kubva kune matavi anoiswa mapazi mwedzi mitanhatu yega yega kuti agadzikane zvitsva zvinoburitswa.

Zvinhu zvitsva muJava 18 zvinosanganisira:

  • Iyo default encoding ndeye UTF-8. Java APIs inogadzira zvinyorwa zvinyorwa zvinoenderana nekukodha kwemavara zvino ichashandisa UTF-8 nekukasira pamapuratifomu ese, zvisinei nehurongwa hwehurongwa uye marongero enzvimbo. Kuti udzoke kune maitiro ekare, apo iyo encoding inosarudzwa zvichienderana nehurongwa hwenzvimbo, unogona kushandisa "-Dfile.encoding=COMPAT" sarudzo.
  • Iyo pasuru inosanganisira iyo com.sun.net.httpserver package, iyo inosanganisira yejwebserver utility uye raibhurari API nekushandisa iri nyore http server yekushandira static content (CGI uye servlet-sezvibatiso hazvitsigirwe). Iyo yakavakirwa-mukati HTTP sevha haina kugadziridzwa kuremerwa kwemabasa uye haitsigire kudzora kwekuwana uye kutendeseka, sezvo yakanangana nekushandiswa mukuvandudza maitiro e prototyping, debugging uye yekuyedza mapurojekiti.
  • JavaDoc inopa tsigiro ye "@snippet" tag yekumisikidza inoshanda mienzaniso uye kodhi snippets mu API zvinyorwa, kwaunogona kushandisa maturusi ekusimbisa, syntax kujekesa, uye IDE kubatanidzwa.
  • Kushandiswa kwejava.lang.reflect API (Core Reflection), yakagadzirirwa kuwana ruzivo pamusoro penzira, minda uye vagadziri vekirasi, pamwe chete nekuwana mukati mehutano hwemakirasi, yakagadziridzwa. Iyo java.lang.reflect API pachayo inoramba isina kuchinjika, asi iko zvino yave kushandiswa pachishandiswa nzira mibato yakapihwa nejava.lang.invoke module, pachinzvimbo chekushandisa majenareta ebytecode. Shanduko iyi yakatibvumira kubatanidza mashandisirwo ejava.lang.reflect uye java.lang.invoke, uye kurerutsa kugadzirisa kwawo.
  • Yechitatu yekutarisa yeVector API yakatsanangurwa, ichipa mabasa ekuverenga vector ayo anoitwa uchishandisa vector rairo pa x86_64 uye AArch64 processors uye inobvumira mashandiro kuti ashandiswe panguva imwe chete kune akawanda kukosha (SIMD). Kusiyana nehunyanzvi hwakapihwa muHotSpot JIT compiler ye auto-vectorization ye scalar mashandiro, iyo API nyowani inoita kuti zvikwanise kudzora zvakajeka vectorization yekuenderana data data.
  • Yakawedzerwa SPI interface (service-provider interface) yekugadzirisa mazita evagamuchiri uye IP kero, zvichikubvumidza kuti ushandise mamwe magadzirirwo mujava.net.InetAddress asina kusungirirwa kune zvibatiso zvinopihwa neiyo inoshanda sisitimu.
  • Yechipiri yekutarisisa yeKune dzimwe nyika Basa & Memory API inopihwa, ichibvumira maapplication kupindirana nekodhi uye data kunze kweJava yekumhanya. Iyo API nyowani inokutendera kuti ukwanise kufona zvisiri-JVM mabasa uye kuwana isina-JVM-inogadziriswa ndangariro. Semuenzaniso, unogona kufonera mabasa kubva kunze akagovaniswa maraibhurari uye kuwana dhizaini data pasina kushandisa JNI.
  • Yechipiri yekuyedza kuitisa maitiro ekufananidza mu "switch" mataurirwo akawedzerwa, achibvumira kushandiswa kweanochinjika mapatani mu "kesi" mavara pane chaiwo maitiro, achivhara nhevedzano yehunhu kamwechete, iyo yaimbove yakakosha kushandiswa. maketani anorema ekuti β€œkana...zvimwe” matauriro. Chinhu o = 123L; Tambo yakarongwa = chinja (o) {nyaya Integer i -> String.format("int%d", i); nyaya Yakareba l -> String.format("refu%d", l); case Kaviri d -> String.format("double %f", d); case String s -> String.format("String%s", s); default -> o.toString(); };
  • Nzira yekupedzisa uye nzira dzayo dzakabatanidzwa dzakadai seObject.finalize(), Enum.finalize(), Runtime.runFinalization() neSystem.runFinalization() dzakadzimwa uye dzichadzimwa mukuburitswa kuchauya.
  • Iyo ZGC (Z Garbage Collector), SerialGC, uye ParallelGC vatakuri vemarara vanotsigira kudonhedza mitsara.

Source: opennet.ru

Voeg