Java SE 16 tso tawm

Tom qab rau lub hlis ntawm kev tsim kho, Oracle tau tso tawm Java SE 16 platform (Java Platform, Standard Edition 16), uas siv qhov qhib OpenJDK project ua nws qhov kev siv piv txwv. Java SE 16 tswj hwm kev sib raug zoo rov qab nrog cov kev tso tawm yav dhau los ntawm Java platform; txhua qhov project Java uas tau sau ua ntej yuav khiav tsis hloov pauv thaum khiav hauv qab qhov version tshiab. Cov qauv npaj txhij rau nruab ntawm Java SE 16 (JDK, JRE, thiab Server JRE) tau npaj rau Linux (x86_64, AArch64), Windows и macOSTsim los ntawm OpenJDK project, Java 16 kev siv yog qhib tag nrho raws li daim ntawv tso cai GPLv2 nrog GNU ClassPath Exception, uas tso cai rau kev sib txuas dynamic nrog cov khoom lag luam.

Java SE 16 raug cais ua ib qho kev tso tawm txhawb nqa tsis tu ncua, nrog rau kev hloov tshiab raug tso tawm kom txog thaum tso tawm tom ntej. Ceg txhawb nqa mus sij hawm ntev (LTS) yuav tsum yog Java SE 11, uas yuav tau txais kev hloov tshiab kom txog thaum xyoo 2026. Kev tso tawm LTS tom ntej tau teem sijhawm rau lub Cuaj Hli 2021. Ua ib qho kev ceeb toom, pib nrog Java 10, qhov project tau hloov mus rau ib qho txheej txheem kev tsim kho tshiab, uas cuam tshuam nrog lub voj voog tso tawm luv dua. Cov haujlwm tshiab tam sim no tau tsim nyob rau hauv ib qho, txuas ntxiv hloov kho ceg master, uas suav nrog cov kev hloov pauv tiav, thiab los ntawm cov ceg twg raug ceg tawm txhua rau lub hlis kom ruaj khov cov kev tso tawm tshiab.

Thaum npaj rau qhov kev tso tawm tshiab, kev tsim kho tau raug tsiv los ntawm Mercurial version control system mus rau Git thiab GitHub collaborative development platform. Kev tsiv no xav tias yuav txhim kho kev ua haujlwm ntawm lub chaw khaws ntaub ntawv, ua kom muaj kev cia khoom zoo dua, muab kev nkag mus rau cov kev hloov pauv thoob plaws keeb kwm ntawm qhov project, txhim kho kev txhawb nqa kev tshuaj xyuas code, thiab siv APIs rau kev ua haujlwm automation. Ntxiv mus, kev siv Git thiab GitHub ua rau qhov project nyiam dua rau cov neeg tshiab thiab cov neeg tsim khoom uas tau siv Git.

Cov yam ntxwv tshiab hauv Java 16 suav nrog:

  • Lub module jdk.incubator.vector sim tau ntxiv rau, siv Vector API. API no muab cov haujlwm rau kev suav vector ua tiav siv x86_64 thiab AArch64 processor vector cov lus qhia thiab tso cai rau kev ua haujlwm tib lub sijhawm ntawm ntau tus nqi (SIMD). Tsis zoo li HotSpot JIT compiler's auto-vectorization ntawm scalar operations, API tshiab tso cai rau kev tswj hwm meej meej ntawm vectorization rau kev ua cov ntaub ntawv sib luag.
  • JDK thiab HotSpot VM code sau ua C++ tam sim no raug tso cai siv cov yam ntxwv qhia hauv C++ 14 specification. Yav dhau los, kev siv cov qauv C++ 98/03 tau tso cai.
  • Lub ZGC (Z Garbage Collector), uas ua haujlwm hauv hom passive thiab txo qhov qeeb ntawm kev sau cov khib nyiab kom ntau li ntau tau, tam sim no muaj peev xwm ua cov txheej txheem sib dhos ua ke yam tsis muaj kev ncua cov xov thov. Tam sim no ZGC tsuas yog sau cov haujlwm uas xav tau kev ncua thiab muaj qhov latencies tas li, feem ntau tsis pub ntau tshaj ob peb puas microseconds.
  • Kev txhawb nqa rau Unix sockets (AF_UNIX) tau raug ntxiv rau SocketChannel, ServerSocketChannel, thiab java.nio.channels chav kawm.
  • Chaw nres nkoj siv rau LinuxKev faib tawm Alpine nrog tus qauv C tsev qiv ntawv musl, uas nrov hauv thawv, microservices, huab, thiab embedded environments. Lub chaw nres nkoj uas tau thov tso cai rau Java cov kev pab cuam khiav ua cov ntawv thov ib txwm muaj hauv cov chaw zoo li no. Ntxiv mus, jlink tso cai rau koj tshem tawm tag nrho cov modules tsis siv thiab tsim ib puag ncig tsawg kawg nkaus txaus rau kev khiav ib daim ntawv thov, ua rau muaj kev tsim cov duab compact, daim ntawv thov-tshwj xeeb.
  • Lub tshuab Elastic Metaspace tau raug siv, ua kom zoo dua qhov kev faib thiab rov qab tau lub cim xeeb uas siv los ntawm cov metadata hauv chav kawm (metaspace) hauv HotSpot JVM. Kev siv Elastic Metaspace txo qhov kev sib cais ntawm lub cim xeeb, txo cov loader overhead, thiab tseem txhim kho kev ua haujlwm ntawm cov ntawv thov server uas siv ntev los ntawm kev xa rov qab lub cim xeeb uas siv los ntawm cov metadata hauv chav kawm tsis siv rau lub operating system sai dua. Qhov kev xaiv "-XX:MetaspaceReclaimPolicy=(balanced|aggressive|none)" muaj rau kev xaiv hom rov qab tau lub cim xeeb tom qab tshem tawm chav kawm.
  • Ntxiv chaw nres nkoj JDK rau cov kab ke Windows, khiav ntawm kho vajtse nrog cov processors raws li AArch64 architecture.
  • Ib daim qauv thib peb ntawm Foreign-Memory Access API tau raug npaj tseg, uas tso cai rau Java daim ntawv thov kom nkag mus rau thaj chaw nco sab nraum Java heap kom muaj kev nyab xeeb thiab ua tau zoo los ntawm kev tswj hwm cov MemorySegment, MemoryAddress, thiab MemoryLayout abstractions tshiab.
  • Ib qho kev sim Foreign Linker API tau raug siv, muab kev nkag mus rau cov lej hauv paus los ntawm Java. Ua ke nrog Foreign-Memory API, qhov API tshiab no ua rau kev tsim cov kev khi rau cov tsev qiv ntawv sib koom ua ke yooj yim dua.
  • Lub jpackage utility tau ntxiv rau, uas cia koj tsim cov pob khoom rau cov ntawv thov Java uas muaj nws tus kheej. Lub utility no yog raws li javapackager los ntawm JavaFX thiab cia koj tsim cov pob khoom hauv cov hom ntawv uas muaj rau ntau lub platform (msi thiab exe rau Windows, pob khoom thiab dmg rau macOS, deb thiab rpm rau Linux). Cov pob khoom suav nrog txhua qhov kev vam khom tsim nyog.
  • Kev kaw nruj ntawm txhua yam JDK sab hauv tam sim no tau qhib los ntawm lub neej ntawd, tsuas yog cov APIs tseem ceeb xws li sun.misc.Unsafe. Qhov kev xaiv "--illegal-access" tam sim no tau teeb tsa rau "tsis lees paub" los ntawm lub neej ntawd es tsis yog "permit," uas yuav thaiv cov lej los ntawm kev nkag mus rau feem ntau cov chav kawm sab hauv, cov txheej txheem, thiab cov teb. Txhawm rau hla qhov kev txwv no, siv qhov kev xaiv "--illegal-access=permit".
  • Qhov kev siv ntawm kev sib phim qauv hauv tus neeg teb xov tooj "instanceof" tau ruaj khov, uas tso cai rau koj tam sim ntawd txhais ib qho hloov pauv hauv zos kom nkag mus rau tus nqi sib phim. Piv txwv li, koj tam sim no tuaj yeem sau "yog tias (obj instanceof String s && s.length() > 5) {.. s.contains(..) ..}" yam tsis tas yuav txhais meej meej "String s = (String) obj". Yav dhau los: yog tias (obj instanceof Group) { Group group = (Group) obj; var entries = group.getEntries(); } Tam sim no koj tuaj yeem ua yam tsis tas yuav txhais "Group group = (Group) obj": yog tias (obj instanceof Group group) { var entries = group.getEntries(); }
  • Qhov kev siv ntawm lo lus tseem ceeb "record" tau ruaj khov lawm. Lo lus tseem ceeb no muab ib daim ntawv compact rau kev txhais cov chav kawm, tshem tawm qhov xav tau los txhais meej meej ntau txoj hauv kev qis xws li equals(), hashCode(), thiab toString() thaum cov ntaub ntawv tsuas yog khaws cia rau hauv cov teb uas tus cwj pwm tseem tsis hloov pauv. Thaum ib chav kawm siv cov kev siv tsis raug ntawm equals(), hashCode(), thiab toString(), nws tuaj yeem zam kev txhais meej meej lawv: cov ntaub ntawv pej xeem BankTransaction(LocalDate hnub, ob npaug ntawm tus nqi, String piav qhia) {}

    Cov lus tshaj tawm no yuav cia li ntxiv cov kev siv ntawm qhov sib npaug (), hashCode() thiab toString() txoj hauv kev ntxiv rau cov qauv tsim thiab cov txheej txheem getter.

  • Ib daim qauv thib ob ntawm cov chav kawm kaw thiab cov interfaces tau raug npaj tseg, uas txwv tsis pub lwm cov chav kawm thiab cov interfaces los ntawm kev txais, txuas ntxiv, lossis hloov pauv lawv cov kev siv. Cov chav kawm kaw kuj muab txoj hauv kev tshaj tawm ntau dua los txwv kev siv superclass dua li cov kev hloov kho nkag, raws li kev teev cov subclasses uas tau tso cai rau kev txuas ntxiv. pob com.example.geometry; pej xeem kaw chav kawm duab tso cai com.example.polar.Circle, com.example.quad.Rectangle, com.example.quad.simple.Square {…}

Tau qhov twg los: opennet.ru

Yuav txhim khu kev qha hosting rau cov chaw nrog DDoS tiv thaiv, VPS VDS servers 🔥 Yuav lub vev xaib hosting txhim khu kev qha nrog kev tiv thaiv DDoS, VPS VDS servers | ProHoster