Java SE 16 e lokolloa

Kamora likhoeli tse ts'eletseng tsa nts'etsopele, Oracle e ile ea lokolla Java SE 16 (Java Platform, Standard Edition 16), e sebelisang morero oa OpenJDK e le ts'ebetsong ea litšupiso. Java SE 16 e boloka tšebelisano ea morao-rao le likhatiso tse fetileng tsa sethala sa Java; merero eohle e neng e ngotsoe pele ea Java e tla sebetsa ntle le liphetoho ha e qala tlasa mofuta o mocha. Mehaho e seng e loketse ho kenya Java SE 16 (JDK, JRE le Server JRE) e lokiselitsoe Linux (x86_64, AArch64), Windows le macOS. E ntlafalitsoe ke projeke ea OpenJDK, ts'ebetsong ea litšupiso tsa Java 16 ke mohloli o bulehileng ka botlalo tlasa laesense ea GPLv2, ntle le mekhelo ea GNU ClassPath e lumellang khokahano e matla le lihlahisoa tsa khoebo.

Java SE 16 e thathamisitsoe e le tokollo ea tšehetso e akaretsang 'me e tla tsoelapele ho fumana lintlafatso ho fihlela tokollo e latelang. Lekala la Tšehetso ea Nako e Telele (LTS) e lokela ho ba Java SE 11, e tla tsoelapele ho fumana lintlafatso ho fihlela 2026. Tokollo e latelang ea LTS e reriloe ka Loetse 2021. A re u hopotse hore ho qala ka ho lokolloa ha Java 10, morero o fetohetse ts'ebetsong e ncha ea nts'etsopele, e bolelang hore ho na le nako e khuts'oane ea ho theha lintlafatso tse ncha. Ts'ebetso e ncha e se e ntlafalitsoe lekaleng le le leng le lecha le ntlafalitsoeng khafetsa, le kenyelletsang liphetoho tse seng li entsoe le moo makala a hlophisoang ka mor'a likhoeli tse ling le tse ling tse tšeletseng ho tsitsisa likhatiso tse ncha.

Ha ho lokisetsoa tokollo e ncha, nts'etsopele e tlohile ho sistimi ea taolo ea mofuta oa Mercurial ho ea ho Git le sethala sa nts'etsopele se kopanetsoeng sa GitHub. Ho falla ho lebelletsoe ho ntlafatsa ts'ebetso ea ts'ebetso ea polokelo, ho eketsa ts'ebetso ea polokelo, ho fana ka phihlello ea liphetoho ho pholletsa le nalane ea projeke, ho ntlafatsa ts'ehetso ea tlhahlobo ea khoutu, le ho nolofalletsa li-API ho iketsetsa phallo ea mosebetsi. Ntle le moo, ts'ebeliso ea Git le GitHub e etsa hore projeke e khahle ho ba qalang le bahlahisi ba tloaetseng Git.

Likarolo tse ncha ho Java 16 li kenyelletsa:

  • E kenyellelitse module ea liteko jdk.incubator.vector ka ts'ebetsong ea Vector API, e fanang ka mesebetsi bakeng sa lipalo tsa vector tse etsoang ho sebelisoa litaelo tsa vector ho li-processor tsa x86_64 le AArch64 le ho lumella ts'ebetso hore e sebelisoe ka nako e le 'ngoe ho litekanyetso tse ngata (SIMD). Ho fapana le bokhoni bo fanoeng ho HotSpot JIT compiler bakeng sa auto-vectorization ea scalar operations, API e ncha e u lumella ho laola vectorization ka ho hlaka bakeng sa ts'ebetso ea data e tšoanang.
  • Khoutu ea JDK le VM HotSpot e ngotsoeng ka C ++ e lumelloa ho sebelisa likarolo tse hlahisitsoeng ka mokhoa oa C++14. Pejana, litekanyetso tsa C++98/03 li ne li lumelloa.
  • The ZGC (Z Garbage Collector), e sebetsang ka mokhoa o sa sebetseng le ho fokotsa tieho ka lebaka la pokello ea lithōle ka hohle kamoo ho ka khonehang, e ekelitse bokhoni ba ho sebetsana le mekotla ea likhoele ka ho bapisa ntle le ho emisa likhoele tsa kopo. Hona joale ZGC e na le mosebetsi o hlokang ho emisoa, o nang le tieho e sa khaotseng, hangata e sa feteng makholo a seng makae a microseconds.
  • Tšehetso e ekelitsoeng bakeng sa li-sockets tsa Unix (AF_UNIX) ho lihlopha tsa SocketChannel, ServerSocketChannel le java.nio.channels.
  • Boema-kepe bo kentsoe tšebetsong bakeng sa phepelo ea Linux Alpine e nang le laeborari e tloaelehileng ea C musl, e tsebahalang libakeng tsa lijana, li-microservices, leru le lits'ebetso tse kentsoeng. Boema-kepe bo reriloeng libakeng tse joalo bo u lumella ho tsamaisa mananeo a Java joalo ka lits'ebetso tse tloaelehileng. Ho phaella moo, ka ho sebelisa jlink, o ka tlosa li-module tsohle tse sa sebelisoeng 'me u thehe tikoloho e fokolang e lekaneng ho tsamaisa kopo, e leng se u lumellang hore u thehe litšoantšo tse khethehileng tsa kopo.
  • Mochini oa Elastic Metaspace o kentsoe ts'ebetsong, ho ntlafatsa ts'ebetso ea ho aba le ho khutlisa memori e ts'oaroang ke metadata ea sehlopha (metaspace) ho JVM HotSpot. Tšebeliso ea Elastic Metaspace e fokotsa karohano ea mohopolo, e fokotsa sekhahla sa moroalo oa sehlopha, hape e na le phello e ntle ts'ebetsong ea likopo tsa nako e telele tsa seva ka lebaka la ho khutla ka potlako ha mohopolo o tšoaretsoeng ke metadata ea sehlopha se sa sebelisoeng tsamaisong ea ts'ebetso. Ho khetha mokhoa oa ho lokolla mohopolo ka mor'a ho laolla litlelase, khetho "-XX:MetaspaceReclaimPolicy=(e leka-lekaneng|e mabifi| ha e eo)" e fanoa.
  • Ho kenyellelitsoe boema-kepe ba JDK bakeng sa lits'ebetso tsa Windows tse sebelisang lisebelisoa tse nang le li-processor tse ipapisitseng le meralo ea AArch64.
  • Ho hlahisitsoe ponelopele ea boraro ea API ea Ho fihlella Memori ea Kantle ho Memori, e lumellang lits'ebetso tsa Java ho fihlella libaka tsa memori ka mokhoa o sireletsehileng le ka nepo kantle ho qubu ea Java ka ho qhekella likheo tse ncha tsa MemorySegment, MemoryAddress, le MemoryLayout.
  • API ea liteko tsa Foreign Linker e kentsoe tšebetsong, e fanang ka phihlello ho tloha Java ho ea ho khoutu ea lehae. Hammoho le Foreign-Memory API, sebopeho se secha sa lenaneo se nolofalletsa ho etsa li-wrappers holim'a lilaebrari tse tloaelehileng tse arolelanoang.
  • E kentse ts'ebeliso ea jpackage, e u lumellang hore u thehe liphutheloana tsa lits'ebetso tsa Java tse ikemetseng. Ts'ebeliso e ipapisitse le javapackager e tsoang ho JavaFX mme e u lumella ho etsa liphutheloana ka liforomo tse tsoang liforomong tse fapaneng (msi le exe bakeng sa Windows, pkg le dmg bakeng sa macOS, deb le rpm bakeng sa Linux). Liphutheloana li kenyelletsa litšepiso tsohle tse hlokahalang.
  • Khokahano e thata ea basebetsi bohle ba JDK e etsoa ka mokhoa o ikhethileng, ntle le li-API tsa bohlokoa joalo ka sun.misc.Unsafe. Bohlokoa ba khetho ea "--illegal-access" e se e behiloe ho "latola" ho e-na le "tumello" ka ho feletseng, e tla thibela boiteko bo tsoang ho khoutu ho fihlella lihlopha tse ngata tsa ka hare, mekhoa le masimo. Ho tlola thibelo, sebelisa khetho ea "-illegal-access=permit".
  • Ts'ebetsong ea mokhoa oa ho tsamaisana le mohlala ho "instanceof" opereishene e tsitsitsoe, e leng se u lumellang hore hang-hang u hlalose phapang ea sebaka seo u batlang ho se bua ka boleng bo hlahlobiloeng. Ka mohlala, u ka ngola hang-hang "haeba (obj exampleof String s && s.length() > 5) {.. s.contains(..) ..}" ntle le ho hlalosa ka ho hlaka "String s = (String) obj". E ne e le: haeba (obj exampleof Sehlopha) { Sehlopha sa sehlopha = (Sehlopha) obj; var entries = sehlopha.getEntries(); } Joale u ka etsa ntle le ho hlalosa “Sehlopha sa sehlopha = (Sehlopha) obj”: haeba (obj exampleof Group group) { var entries = group.getEntries(); }
  • Ts'ebetsong ea "rekoto" ea lentsoe la sehlooho e tsitsitse, e fana ka foromo e kopanetsoeng bakeng sa litlhaloso tsa sehlopha se felisang tlhoko ea ho hlalosa ka ho hlaka mekhoa e fapaneng ea maemo a tlase joalo ka ho lekana (), hashCode () le toString () maemong ao data e bolokiloeng. masimong feela. eo e sa fetoheng ka yona. Ha sehlopha se sebelisa mekhoa e tloaelehileng ea ho lekana (), hashCode() le toString() mekhoa, e ka etsa ntle le tlhaloso ea eona e hlakileng: rekoto ea sechaba BankTransaction(LocalDate date, double amount, String description) {}

    Phatlalatso ena e tla eketsa ts'ebetsong ea mekhoa e lekanang (), hashCode () le toString() ho phaella ho mekhoa ea sehahi le ea getter.

  • Moralo oa bobeli o reriloe bakeng sa litlelase tse tiisitsoeng le likhokahano tse ke keng tsa sebelisoa ke lihlopha tse ling le likhokahano ho rua, ho atolosa, kapa ho hlakola ts'ebetsong. Litlelase tse tiisitsoeng li boetse li fana ka mokhoa o hlakileng haholoanyane oa ho thibela tšebeliso ea sehlopha sa maemo a holimo ho feta li-modifiers tsa phihlello, ho ipapisitse le ho thathamisa ka ho hlaka lihlotšoana tse lumelletsoeng ho atolosoa. sephutheloana com.mohlala.geometry; sehlopha se tiisitsoeng sa sechaba Litumello tsa sebopeho com.example.polar.Circle, com.example.quad.Rectangle, com.example.quad.simple.Square {…}

Source: opennet.ru

Eketsa ka tlhaloso