Java SE 19 tso tawm

Tom qab rau lub hlis ntawm txoj kev loj hlob, Oracle tso tawm Java SE 19 (Java Platform, Standard Edition 19), 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 19 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 19 (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 19 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 19 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 19 suav nrog:

  • Kev txhawb nqa ua ntej rau cov qauv ntaub ntawv tau raug thov, txuas ntxiv cov qauv sib piv cov qauv qhia hauv Java 16 nrog cov cuab yeej rau kev txheeb xyuas qhov tseem ceeb ntawm cov chav kawm ntawv. Piv txwv li: record Point(int x, int y) {} void printSum(Object o) { if (o instanceof Point(int x, int y)) { System.out.println(x+y); }}
  • Linux tsim muab kev txhawb nqa rau RISC-V architecture.
  • Ntxiv kev txhawb nqa ua ntej rau FFM (Foreign Function & Memory) API, uas tso cai rau koj los teeb tsa kev sib cuam tshuam ntawm Java cov kev pab cuam nrog lwm tus lej thiab cov ntaub ntawv los ntawm kev hu xovtooj los ntawm cov tsev qiv ntawv sab nraud thiab nkag mus rau lub cim xeeb sab nraum JVM.
  • Ntxiv kev txhawb nqa rau cov xov virtual, uas yog cov xov sib sib zog uas ua kom yooj yim rau kev sau ntawv thiab kev saib xyuas ntawm cov ntawv siv ntau txoj xov zoo.
  • Qhov thib plaub saib ua ntej ntawm Vector API tau raug npaj, muab kev ua 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.
  • Ib qho kev sim thib peb ntawm cov qauv sib piv hauv "hloov" cov lus tau raug ntxiv, tso cai rau kev siv hauv "cov ntaub ntawv" cov ntawv tsis yog qhov tseem ceeb, tab sis ntawm cov qauv hloov pauv uas suav nrog cov txiaj ntsig ntawm ib zaug, uas yav tas los yuav tsum tau ua. 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(); };
  • Ntxiv qhov kev sim API rau cov qauv sib luag, uas ua kom yooj yim rau kev txhim kho ntawm ntau txoj xov siv los ntawm kev kho ntau yam dej num khiav hauv cov xov sib txawv raws li ib qho thaiv.

Tau qhov twg los: opennet.ru

Ntxiv ib saib