Ukukhishwa kwe-Java SE 18

Ngemuva kwezinyanga eziyisithupha zokuthuthuka, i-Oracle ikhiphe i-Java SE 18 (i-Java Platform, i-Standard Edition 18), esebenzisa iphrojekthi ye-OpenJDK yomthombo ovulekile njengokuqaliswa kwereferensi. Ngaphandle kokususwa kwezinye izici ezingasasebenzi, i-Java SE 18 igcina ukuhambisana okusemuva nokukhishwa kwangaphambilini kweplathifomu ye-Java - amaphrojekthi amaningi e-Java abhalwe ngaphambilini azosebenza ngaphandle kwezinguquko lapho esebenza ngaphansi kwenguqulo entsha. Izakhiwo ezilungele ukufaka ze-Java SE 18 (JDK, JRE ne-Server JRE) zilungiselelwa i-Linux (x86_64, AArch64), Windows (x86_64) kanye ne-macOS (x86_64, AArch64). Ithuthukiswe iphrojekthi ye-OpenJDK, ukusetshenziswa kwesithenjwa se-Java 18 kuwumthombo ovulekile ngokugcwele ngaphansi kwelayisensi ye-GPLv2, okuhlukile kwe-GNU ClassPath okuvumela ukuxhumana okunamandla nemikhiqizo yezentengiso.

I-Java SE 18 ihlukaniswa njengokukhululwa kosekelo okuvamile futhi izoqhubeka nokuthola izibuyekezo kuze kube ukukhishwa okulandelayo. Igatsha Lokusekela Isikhathi Eside (LTS) kufanele libe yi-Java SE 17, ezoqhubeka nokuthola izibuyekezo kuze kube ngu-2029. Ake sikukhumbuze ukuthi kusukela ngokukhululwa kwe-Java 10, iphrojekthi ishintshele kunqubo entsha yokuthuthukisa, okusho umjikelezo omfushane wokwakhiwa kokukhishwa okusha. Ukusebenza okusha manje sekuthuthukisiwe egatsheni elilodwa eliyinhloko elivuselelwe njalo, elihlanganisa izinguquko esezilungile futhi lapho amagatsha enziwa khona njalo ngemva kwezinyanga eziyisithupha ukuze kuzinziswe ukukhishwa okusha.

Izici ezintsha ku-Java 18 zifaka:

  • Umbhalo wekhodi ozenzakalelayo yi-UTF-8. Ama-Java API acubungula idatha yombhalo ngokusekelwe ekubhalweni kwezinhlamvu manje azosebenzisa i-UTF-8 ngokuzenzakalela kuzo zonke izinkundla, kungakhathaliseki izilungiselelo zesistimu nezilungiselelo zendawo. Ukuze ubuyele ekuziphatheni kwakudala, lapho umbhalo wekhodi ukhethwa khona ngokusekelwe endaweni yesistimu, ungasebenzisa inketho ethi "-Dfile.encoding=COMPAT".
  • Iphakheji ihlanganisa iphakheji ye-com.sun.net.httpserver, ehlanganisa insiza ye-jwebserver kanye ne-API yomtapo wolwazi ngokusetshenziswa kweseva ye-http elula yokuphakela okuqukethwe okumile (i-CGI nezibambi ezifana ne-servlet azisekelwe). Iseva ye-HTTP eyakhelwe ngaphakathi ayilungiselelwa umthwalo wokusebenza futhi ayisekeli ukulawula ukufinyelela kanye nokuqinisekisa, njengoba ihloselwe ikakhulukazi ukusetshenziswa kunqubo yokuthuthukisa ukwenza i-prototyping, ukulungisa amaphutha nokuhlola amaphrojekthi.
  • I-JavaDoc ihlinzeka ngokusekela umaka we-"@snippet" ukuze ushumeke izibonelo zokusebenza namazwibela ekhodi kumadokhumenti e-API, lapho ungasebenzisa khona amathuluzi okuqinisekisa, ukugqamisa i-syntax, nokuhlanganiswa kwe-IDE.
  • Ukuqaliswa kwe-java.lang.reflect API (Core Reflection), eklanyelwe ukuthola ulwazi mayelana nezindlela, izinkambu nabakhi bekilasi, kanye nokufinyelela esakhiweni sangaphakathi samakilasi, kwakhiwe kabusha. I-java.lang.reflect API ngokwayo ihlala ingashintshile, kodwa manje isisetshenziswa kusetshenziswa izibambo zendlela ezinikezwe imojuli ye-java.lang.invoke, esikhundleni sokusebenzisa amajeneretha e-bytecode. Ushintsho lusivumele ukuthi sihlanganise ukusetshenziswa kwe-java.lang.reflect ne-java.lang.invoke, futhi senze ukugcinwa kwayo kube lula.
  • Ukubuka kuqala kwesithathu kwe-Vector API kuhlongoziwe, okuhlinzeka ngemisebenzi yokubala kwe-vector okwenziwa kusetshenziswa imiyalelo ye-vector kumaphrosesa we-x86_64 kanye ne-AArch64 futhi kuvumela ukusebenza ukuthi kusetshenziswe ngesikhathi esisodwa kumanani amaningi (SIMD). Ngokungafani namandla anikezwe kusihlanganisi se-HotSpot JIT okwenziwa ngokuzenzakalela kwemisebenzi ye-scalar, i-API entsha yenza kube nokwenzeka ukulawula ngokusobala ukwenziwa kwe-vector ukuze kucutshungulwe idatha efanayo.
  • Kungezwe i-SPI interface (umhlinzeki wesevisi) wokuxazulula amagama abasingathi namakheli e-IP, okukuvumela ukuthi usebenzise ezinye izixazululi ku-java.net.InetAddress ezingaboshelwe kuzibambi ezinikezwa isistimu yokusebenza.
  • Ukubuka kuqala kwesibili kwe-Foreign Function & Memory API kunikezwa, okuvumela izinhlelo zokusebenza ukuthi zihlanganyele nekhodi nedatha ngaphandle kwesikhathi sokusebenza se-Java. I-API entsha ikuvumela ukuthi ushayele kahle imisebenzi okungeyona eye-JVM futhi ufinyelele imemori engaphethwe yi-JVM. Isibonelo, ungashayela imisebenzi kusuka kumalabhulali abiwe angaphandle futhi ufinyelele idatha yenqubo ngaphandle kokusebenzisa i-JNI.
  • Ukuqaliswa kokuhlolwa kwesibili kokumataniswa kwephethini enkulumweni ethi "switch" kwengeziwe, okuvumela ukusetshenziswa kwamaphethini aguquguqukayo kumalebula "icala" kunamanani aqondile, okumboza uchungechunge lwamanani ngesikhathi esisodwa, obekudingeka ukuwasebenzisa ngaphambilini. amaketango anzima ezinkulumo ezithi “uma...kungenjalo”. Into o = 123L; Intambo ifomethiwe = shintsha (o) {icala eliphelele i -> String.format("int %d", i); icala elide l -> String.format("inde %d", l); icala d -> String.format("double %f", d); icala Intambo s -> String.format("String %s", s); okuzenzakalelayo -> o.toString(); };
  • Indlela yokuphothula kanye nezindlela zayo ezihlotshaniswayo njenge-Object.finalize(), Enum.finalize(), Runtime.runFinalization() kanye ne-System.runFinalization() yehlisiwe futhi izokhutshazwa ekukhishweni okuzayo.
  • I-ZGC (Z Umqoqi Kadoti), i-SerialGC, nabaqoqi bakadoti be-ParallelGC basekela ukuphindaphinda komugqa.

Source: opennet.ru

Engeza amazwana