Java SE 18 tso tawm

Tom qab rau lub hlis ntawm txoj kev loj hlob, Oracle tso tawm Java SE 18 (Java Platform, Standard Edition 18), uas siv OpenJDK qhib qhov project raws li nws siv siv. Nrog rau qhov tshwj xeeb ntawm kev tshem tawm qee qhov uas tsis siv lawm, Java SE 18 tswj kev rov qab sib raug zoo nrog cov kev tshaj tawm yav dhau los ntawm Java platform - feem ntau cov ntawv sau yav dhau los Java yuav ua haujlwm yam tsis muaj kev hloov pauv thaum khiav hauv qab version tshiab. Npaj-rau-nruab tsim ntawm Java SE 18 (JDK, JRE thiab Server JRE) yog npaj rau Linux (x86_64, AArch64), Windows (x86_64) thiab macOS (x86_64, AArch64). Tsim los ntawm OpenJDK qhov project, qhov kev siv Java 18 yog qhov qhib tag nrho raws li daim ntawv tso cai GPLv2, nrog rau GNU ClassPath kev zam pub rau kev sib txuas nrog cov khoom lag luam.

Java SE 18 raug cais raws li kev txhawb nqa dav dav thiab yuav txuas ntxiv tau txais cov hloov tshiab mus txog thaum tso tawm tom ntej. Lub Sij Hawm Ntev (LTS) ceg yuav tsum yog Java SE 17, uas yuav tau txais kev hloov kho txuas ntxiv mus txog xyoo 2029. Cia peb nco ntsoov koj tias pib nrog kev tso tawm ntawm Java 10, qhov project tau hloov mus rau txoj kev txhim kho tshiab, ua rau lub voj voog luv luv rau kev tsim tawm tshiab. Kev ua haujlwm tshiab tam sim no tau tsim nyob rau hauv ib qho kev hloov kho tshiab tas li, uas suav nrog cov kev hloov pauv uas tau npaj tseg thiab los ntawm cov ceg ntoo uas tau txiav txhua rau rau lub hlis kom ruaj khov rau kev tso tawm tshiab.

Cov yam ntxwv tshiab hauv Java 18 suav nrog:

  • Lub neej ntawd encoding yog UTF-8. Java APIs uas ua cov ntaub ntawv cov ntaub ntawv raws li tus cim encoding tam sim no yuav siv UTF-8 los ntawm lub neej ntawd ntawm txhua lub platform, tsis hais txog kev teeb tsa thiab thaj chaw. Txhawm rau rov qab mus rau tus cwj pwm qub, qhov twg xaiv encoding raws li lub hauv paus system, koj tuaj yeem siv qhov "-Dfile.encoding=COMPAT" kev xaiv.
  • Cov pob suav nrog com.sun.net.httpserver pob, uas suav nrog jwebserver cov nqi hluav taws xob thiab cov tsev qiv ntawv API nrog kev siv cov http server yooj yim rau kev pabcuam cov ntsiab lus zoo li qub (CGI thiab servlet zoo li tus tuav tsis tau txais kev txhawb nqa). Lub built-in HTTP neeg rau zaub mov tsis zoo rau kev ua haujlwm thiab tsis txhawb kev nkag mus rau kev tswj hwm thiab kev lees paub, vim nws yog tsom rau kev siv hauv cov txheej txheem tsim kho rau kev tsim qauv, kev debugging thiab kev sim ua haujlwm.
  • JavaDoc muab kev txhawb nqa rau "@snippet" tag rau embed ua haujlwm piv txwv thiab cov lej snippets rau hauv API cov ntaub ntawv, uas koj tuaj yeem siv cov cuab yeej siv tau, cov ntsiab lus tseem ceeb, thiab kev koom ua ke IDE.
  • Qhov kev siv ntawm java.lang.reflect API (Core Reflection), tsim kom tau txais cov ntaub ntawv hais txog cov txheej txheem, teb thiab cov neeg tsim qauv hauv chav kawm, nrog rau kev nkag mus rau cov qauv hauv chav kawm, tau raug kho dua tshiab. Lub java.lang.reflect API nws tus kheej tseem tsis tau hloov pauv, tab sis tam sim no tau siv los siv cov txheej txheem uas tau muab los ntawm java.lang.invoke module, tsis yog siv bytecode generators. Qhov kev hloov pauv tau tso cai rau peb los koom ua ke cov kev siv ntawm java.lang.reflect thiab java.lang.invoke, thiab ua kom yooj yim rau lawv cov txij nkawm.
  • Ib qhov thib peb saib ua ntej ntawm Vector API tau raug npaj, muab cov haujlwm rau kev suav vector uas tau ua tiav siv cov lus qhia vector ntawm x86_64 thiab AArch64 processors thiab tso cai rau cov haujlwm ua haujlwm ib txhij rau ntau qhov txiaj ntsig (SIMD). Tsis zoo li lub peev xwm muab rau hauv HotSpot JIT compiler rau nws pib-vectorization ntawm kev ua haujlwm scalar, API tshiab ua rau nws muaj peev xwm tswj hwm vectorization rau cov ntaub ntawv sib luag.
  • Ntxiv SPI interface (kev pabcuam-tus neeg muab kev pabcuam interface) rau kev daws cov npe tswv thiab IP chaw nyob, tso cai rau koj siv lwm cov kev daws teebmeem hauv java.net.InetAddress uas tsis khi rau cov neeg ua haujlwm muab los ntawm lub operating system.
  • Qhov thib ob saib ua ntej ntawm Txawv Teb Chaws Ua Haujlwm & Nco API yog muab, tso cai rau cov ntawv thov cuam tshuam nrog cov lej thiab cov ntaub ntawv sab nraud Java runtime. API tshiab tso cai rau koj kom ua tau zoo hu tsis yog-JVM ua haujlwm thiab nkag mus tsis yog-JVM-tswj nco. Piv txwv li, koj tuaj yeem hu xov tooj los ntawm cov tsev qiv ntawv sab nraud thiab nkag mus rau cov ntaub ntawv txheej txheem yam tsis siv JNI.
  • Ib qho kev sim thib ob ntawm cov qauv sib piv hauv "hloov" cov lus tau ntxiv, tso cai rau kev siv cov qauv hloov pauv hauv "cov ntaub ntawv" cov ntawv es tsis yog cov txiaj ntsig tiag tiag, suav nrog cov txiaj ntsig ntawm ib zaug, uas yav tas los yuav tsum tau siv. cumbersome chains ntawm "yog ... lwm yam" kab lus. Yam khoom o = 123L; String formatted = hloov (o) { case Integer i -> String.format("int %d", i); case Long l -> String.format("ntev %d", l); case Ob chav d -> String.format("ob npaug %f", d); case String s -> String.format("String %s", s); default -> o.toString(); };
  • Cov txheej txheem ua tiav thiab nws cov txheej txheem cuam tshuam xws li Object.finalize(), Enum.finalize(), Runtime.runFinalization() thiab System.runFinalization() tau raug txiav tawm thiab yuav raug cuam tshuam rau yav tom ntej tso tawm.
  • Lub ZGC (Z khib nyiab Collector), SerialGC, thiab ParallelGC cov khoom khib nyiab txhawb nqa kab deduplication.

Tau qhov twg los: opennet.ru

Ntxiv ib saib