Ngemva kwezinyanga eziyisithupha zokuthuthukiswa, i-Oracle ikhiphe ipulatifomu ye-Java SE 18 (i-Java Platform, i-Standard Edition 18), esebenzisa iphrojekthi ye-OpenJDK yomthombo ovulekile njengokuqaliswa kwayo okubhekiselwe kukho. Ngaphandle kokususwa kwezinye izici ezingasasebenzi, i-Java SE 18 igcina ukuhambisana okungemuva nokukhishwa kwangaphambilini kwepulatifomu ye-Java—amaphrojekthi amaningi e-Java abhalwe ngaphambilini azosebenza engashintshi uma esebenza ngaphansi kwenguqulo entsha. Izakhiwo ze-Java SE 18 (i-JDK, i-JRE, kanye ne-Server JRE) ezilungele ukufakwa zilungiselelwe Linux (x86_64, AArch64), Windows (x86_64) kanye macOS (x86_64, AArch64). Kuthuthukiswe yiphrojekthi ye-OpenJDK, ukusetshenziswa kwereferensi ye-Java 18 kuwumthombo ovulekile ngokuphelele ngaphansi kwelayisensi ye-GPLv2 ene-GNU ClassPath Exception, evumela ukuxhumanisa okunamandla nemikhiqizo yezentengiselwano.
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 (isikhombimsebenzisi somhlinzeki wesevisi) sokuxazulula amagama abasingathi kanye Amakheli e-IP, okuvumela i-java.net.InetAddress ukusebenzisa ezinye izixazululi ezingaxhumene neziphathi ezinikezwa uhlelo lokusebenza.
- 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
