Rilaxx Java SE 18

Wara sitt xhur ta 'żvilupp, Oracle ħareġ il-pjattaforma Java SE 18 (Java Platform, Standard Edition 18), li tuża l-proġett OpenJDK open source bħala implimentazzjoni ta' referenza. Bl-eċċezzjoni tat-tneħħija ta 'xi karatteristiċi deprecati, Java SE 18 iżomm kompatibilità b'lura ma' rilaxxi preċedenti tal-pjattaforma Java - il-biċċa l-kbira tal-proġetti Java miktuba qabel xorta se jaħdmu mingħajr modifika meta jitħaddmu taħt il-verżjoni l-ġdida. Bini ta' Java SE 18 lest biex jiġi installat (JDK, JRE, u Server JRE) huma ppreparati għal Linux (x86_64, AArch64), Windows (x86_64), u macOS (x86_64, AArch64). Żviluppata mill-proġett OpenJDK, l-implimentazzjoni ta' referenza Java 18 hija sors kompletament miftuħ taħt il-liċenzja GPLv2 b'eċċezzjonijiet GNU ClassPath biex tippermetti konnessjoni dinamika ma' prodotti kummerċjali.

Java SE 18 huwa kategorizzat bħala rilaxx ta 'appoġġ regolari, b'aġġornamenti li għandhom jiġu rilaxxati qabel ir-rilaxx li jmiss. Il-fergħa tal-appoġġ fit-tul (LTS) għandha tkun Java SE 17, li se tirċievi aġġornamenti sal-2029. Ifakkar li beda bir-rilaxx ta 'Java 10, il-proġett qaleb għal proċess ta' żvilupp ġdid, li jimplika ċiklu iqsar għall-formazzjoni ta 'rilaxxi ġodda. Funzjonalità ġdida issa qed tiġi żviluppata f'fergħa prinċipali waħda aġġornata kontinwament, li tinkorpora bidliet li diġà tlestew u li minnha fergħat huma ramifikati kull sitt xhur biex jistabbilizzaw rilaxxi ġodda.

Karatteristiċi ġodda f'Java 18 jinkludu:

  • Il-kodifikazzjoni default hija UTF-8. L-APIs Java li jipproċessaw id-dejta tat-test ibbażati fuq kodifikazzjoni tal-karattri issa se jużaw UTF-8 awtomatikament fuq il-pjattaformi kollha, irrispettivament mis-settings tas-sistema u l-issettjar tal-lokal. Biex terġa 'lura għall-imġieba l-antika, fejn il-kodifikazzjoni hija magħżula abbażi tal-locale tas-sistema, tista' tuża l-għażla "-Dfile.encoding=COMPAT".
  • Il-pakkett jinkludi l-pakkett com.sun.net.httpserver, li jinkludi l-utilità jwebserver u l-API tal-librerija bl-implimentazzjoni ta 'server http sempliċi biex iservi kontenut statiku (CGI u handlers bħal servlet mhumiex appoġġjati). Is-server HTTP inkorporat mhuwiex ottimizzat għall-piżijiet tax-xogħol u ma jappoġġjax il-kontroll tal-aċċess u l-awtentikazzjoni, peress li huwa mmirat primarjament għall-użu fil-proċess ta 'żvilupp għal proġetti ta' prototipi, debugging u ttestjar.
  • JavaDoc jipprovdi appoġġ għat-tikketta "@snippet" biex tiddaħħal eżempji ta' ħidma u snippets ta' kodiċi fid-dokumentazzjoni tal-API, fejn tista' tuża għodod ta' validazzjoni, enfasi tas-sintassi, u integrazzjoni tal-IDE.
  • L-implimentazzjoni tal-API java.lang.reflect (Core Reflection), iddisinjata biex tikseb informazzjoni dwar metodi, oqsma u kostrutturi tal-klassi, kif ukoll aċċess għall-istruttura interna tal-klassijiet, ġiet imfassla mill-ġdid. L-API java.lang.reflect innifsu jibqa' mhux mibdul, iżda issa huwa implimentat bl-użu ta' mankijiet tal-metodi pprovduti mill-modulu java.lang.invoke, minflok ma juża ġeneraturi tal-bytecode. Il-bidla ppermettietna ngħaqqdu l-implimentazzjonijiet ta' java.lang.reflect u java.lang.invoke, u nissimplifikaw il-manutenzjoni tagħhom.
  • Ġiet proposta t-tielet preview tal-API Vector, li tipprovdi funzjonijiet għall-kalkoli tal-vettur li huma esegwiti bl-użu ta 'struzzjonijiet tal-vettur fuq proċessuri x86_64 u AArch64 u jippermettu li l-operazzjonijiet jiġu applikati simultanjament għal valuri multipli (SIMD). B'differenza mill-kapaċitajiet ipprovduti fil-kompilatur HotSpot JIT għall-vettorizzazzjoni awtomatika ta 'operazzjonijiet skalari, l-API l-ġdida tagħmilha possibbli li tikkontrolla b'mod espliċitu l-vettorizzazzjoni għall-ipproċessar tad-dejta parallela.
  • Interfaċċja SPI miżjuda (interface tal-fornitur tas-servizz) biex issolvi l-ismijiet tal-hosts u l-indirizzi IP, li jippermettilek tuża risolvers alternattivi f'java.net.InetAddress li mhumiex marbuta ma' handlers offruti mis-sistema operattiva.
  • It-tieni preview tal-Funzjoni Barranija u l-API tal-Memorja hija pprovduta, li tippermetti lill-applikazzjonijiet jinteraġixxu mal-kodiċi u d-dejta barra l-ħin tar-runtime Java. L-API l-ġdida tippermettilek issejjaħ b'mod effiċjenti funzjonijiet mhux JVM u taċċessa memorja mhux ġestita minn JVM. Pereżempju, tista' ċċempel funzjonijiet minn libreriji kondiviżi esterni u taċċessa d-dejta tal-proċess mingħajr ma tuża JNI.
  • Ġiet miżjuda implimentazzjoni sperimentali oħra tat-tqabbil tal-mudelli fl-espressjonijiet "swiċċ", li tippermetti l-użu ta 'mudelli flessibbli f'tikketti "każ" aktar milli valuri eżatti, li tkopri serje ta' valuri f'daqqa, li għalihom qabel kien meħtieġ li jintużaw ktajjen ingombranti ta’ espressjonijiet “jekk... inkella”. Oġġett o = 123L; String formatted = switch (o) { case Integer i -> String.format ("int %d", i); case Long l -> String.format("long %d", l); każ Double d -> String.format ("double %f", d); case String s -> String.format ("String %s", s); default -> o.toString(); };
  • Il-mekkaniżmu ta' finalizzazzjoni u l-metodi assoċjati tiegħu bħal Object.finalize(), Enum.finalize(), Runtime.runFinalization() u System.runFinalization() ġew deprecati u se jiġu diżattivati ​​f'rilaxx futur.
  • Il-kolletturi taż-żibel ZGC (Z Garbage Collector), SerialGC, u ParallelGC jappoġġjaw id-deduplikazzjoni tar-ringieli.

Sors: opennet.ru

Żid kumment