Java SE 15 e lokolloa

Kamora likhoeli tse tšeletseng tsa nts'etsopele, Oracle lokollotsoe sethala Java SE15 (Java Platform, Khatiso e Tloaelehileng ea 15), morero o bulehileng oa OpenJDK o sebelisoa e le ts'ebetsong ea litšupiso. Java SE 15 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. E ikemiselitse ho kenya Java SE 15 builds (JDK, JRE le Server JRE) lokisitsoe bakeng sa Linux (x86_64), Windows le macOS. Ts'ebetsong ea litšupiso e ntlafalitsoeng ke projeke ea OpenJDK Java 15 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 15 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. Lekala la pele la LTS la Java 8 le tla tšehetsoa ho fihlela ka December 2020. Tokollo e latelang ea LTS e reriloe ka Loetse 2021. A re u hopotse hore ho qala ka tokollo ea Java 10, morero o fetohetse ts'ebetsong e ncha ea nts'etsopele, e bolelang potoloho e khuts'oane ea ho theoa ha likhatiso 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.

Из boiqapelo Java 15 ka letšoao:

  • E hahelletsoeng tšehetso bakeng sa EdDSA (Edwards-Curve Digital Signature Algorithm) algorithm ea ho theha signature ea dijithale RFC 8032). Ts'ebetsong ea EdDSA e reriloeng ha e itšetlehe ka li-platform tsa hardware, e sirelelitsoe litlhaselong tsa litsela (nako e sa khaotseng ea lipalo tsohle e tiisitsoe) 'me e potlakile ts'ebetsong ho feta ts'ebetsong e teng ea ECDSA e ngotsoeng ka puo ea C, e nang le boemo bo tšoanang ba tšireletso. Ka mohlala, EdDSA e sebelisa elliptic curve e nang le senotlolo sa 126-bit e bonts'a ts'ebetso e ts'oanang le ECDSA e nang le secp256r1 elliptic curve le senotlolo sa 128-bit.
  • E kentsoe ts'ehetso ea liteko bakeng sa lihlopha tse tiisitsoeng le li-interfaces, tse ke keng tsa sebelisoa ke lihlopha tse ling le li-interfaces ho rua, ho atolosa, kapa ho hlokomoloha ts'ebetsong. Litlelase tse tiisitsoeng li boetse li fana ka mokhoa o hlakileng haholoanyane oa ho thibela ts'ebeliso ea sehlopha sa maemo a holimo ho feta mokhoa oa ho fihlella, ho ipapisitse le ho thathamisa ka ho hlaka lihlotšoana tse lumelletsoeng ho atolosoa.

    sephutheloana com.mohlala.geometry;

    sehlopha se tiisitsoeng sechabeng Sebopeho
    litumello com.mohlala.polar.Circle,
    com.mohlala.quad.Rectangle,
    com.example.quad.simple.Square {…}

  • E kentsoe tšehetso bakeng sa lihlopha tse patiloeng tse ke keng tsa sebelisoa ka ho toba ke bytecode ea lihlopha tse ling. Morero oa mantlha oa litlelase tse patiloeng ke ho sebelisoa ho meralo e hlahisang litlelase ka nako ea ho sebetsa le ho li sebelisa ka mokhoa o sa tobang, ponahatso. Litlelase tse joalo hangata li na le potoloho e lekanyelitsoeng ea bophelo, kahoo ho li boloka bakeng sa ho fihlella ho tsoa lihlopheng tse hlahisitsoeng ka mokhoa o tsitsitseng ha ho na lebaka mme ho tla lebisa ho hoketseng ts'ebeliso ea mohopolo. Litlelase tse patiloeng li boetse li felisa tlhokahalo ea letsatsi le sa tloaelehang la API.misc.Unsafe::defineAnonymousClass, e reretsoeng ho tlosoa nakong e tlang.
  • Sephuthelo sa lithōle sa ZGC (Z Garbage Collector) se se se tsitsitse ’me se hlokomeloa se se se loketse ho sebelisoa hohle. ZGC e sebetsa ka mokhoa oa ho etsa lintho, e fokotsa ho lieha ho tsamaea ka lebaka la ho bokella lithōle ka hohle kamoo ho ka khonehang (nako ea ho boloka ha u sebelisa ZGC ha e fete 10 ms.) 'me e ka sebetsa ka liqubu tse nyenyane le tse kholo, ho tloha ka boholo ba megabyte tse makholo a' maloa ho ea ho li-terabyte tse ngata.
  • E tsitsitse mme e fumanoe e loketse ho sebelisoa ka kakaretso
    mokgoboki wa dithole Shenandoah, ho sebetsa ka ho khefutsa ho fokolang (Moqosi oa Lithōle oa Nako e Tlase). Shenandoah e entsoe ke Red Hat 'me e tsebahala ka tšebeliso ea eona ea algorithm e fokotsang nako ea ho boloka lithōle nakong ea ho bokella lithōle ka ho hloekisa ka mokhoa o ts'oanang le ts'ebetsong ea lisebelisoa tsa Java. Boholo ba litiehiso tse hlahisoang ke moqokeleli oa lithōle bo ka boleloa esale pele 'me ha bo itšetlehe ka boholo ba qubu, i.e. bakeng sa liqubu tsa 200 MB le 200 GB tieho e tla tšoana (se tsoe ho feta 50 ms mme hangata ka hare ho 10 ms);

  • Tšehetso e tsitsitsoe 'me e kentsoe puong diboloko tsa mongolo - mofuta o mocha oa likhoele tse u lumellang hore u kenye lintlha tsa mongolo oa mela e mengata ka har'a khoutu ea mohloli ntle le ho sebelisa sebopeho se phonyohang le ho boloka fomete ea mongolo oa mantlha ka har'a block. The block e entsoe ka mantsoe a mararo a mabeli.

    Ka mohlala, sebakeng sa khoutu

    String html = " » +
    "\n\t" + " » +
    "\n\t\t" + " \"Java 1 e teng!\" » +
    "\n\t" + " » +
    "\n" + " ";

    o ka hlalosa:

    String html = """


    »Java 1\
    ke mona!

    """;

  • E sebelitsoe bocha Lefa DatagramSocket API. Lisebelisoa tsa khale tsa java.net.DatagramSocket le java.net.MulticastSocket li nkeloe sebaka ke ts'ebetsong ea sejoale-joale e bonolo ho e lokisa le ho e hlokomela, hape e tsamaellana le melapo e hlahisoang ka har'a projeke. Ho lokoloha. Haeba ho khoneha ho se lumellane le khoutu e teng, ts'ebetsong ea khale ha e e-s'o tlosoe 'me e ka khoneha ho sebelisa khetho ea jdk.net.usePlainDatagramSocketImpl.
  • Phethahatso ea bobeli ea liteko e sisinngoe ho tsamaisana le mohlala ho "instanceof" operator, e leng se u lumellang hore u hlalose hang-hang phetoho ea sebakeng seo ho fihlella 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 mohlala oa Sehlopha) {
    Sehlopha sa sehlopha = (Sehlopha)obj;
    var entries = sehlopha.getEntries();
    }

    Joale u ka etsa ntle le tlhaloso "Sehlopha sa Sehlopha = (Sehlopha) obj":

    haeba (obj mohlala oa sehlopha sa Sehlopha) {
    var entries = sehlopha.getEntries();
    }

  • E sisintsweng ts'ebetsong ea bobeli ea teko ea lentsoe la sehlooho "rekoto", e fanang ka foromo e kopanetsoeng bakeng sa ho hlalosa lihlopha, e u lumellang ho qoba ho hlalosa ka ho hlaka mekhoa e fapaneng ea boemo bo tlaase e kang ho lekana (), hashCode () le toString () maemong ao data e bolokiloeng feela libakeng tseo boitšoaro ba tsona bo sa fetoheng. Ha sehlopha se sebelisa mekhoa e tloaelehileng ea mekhoa e lekanang (), hashCode() le toString(), e ka etsa ntle le tlhaloso ea bona e hlakileng:

    rekoto ea sechaba BankTransaction (Letsatsi la LocalDate,
    palo e habeli
    Tlhaloso ea likhoele) {}

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

  • E sisintsweng ponelopele ea bobeli ea Foreign-Memory Access API, e lumellang lits'ebetso tsa Java ho fihlella libaka tsa memori ka mokhoa o sireletsehileng le ka nepo ka ntle ho qubu ea Java ka ho qhekella likhechana tse ncha tsa MemorySegment, MemoryAddress, le MemoryLayout.
  • E holofetse le ho lahla mokhoa oa ho ntlafatsa oa Bias Locking o sebelisitsoeng ho HotSpot JVM ho fokotsa ho notlela holimo. Mokhoa ona o lahlehetsoe ke ts'ebetso ea ona ho litsamaiso tse nang le litaelo tsa athomo tse fanoeng ke li-CPU tsa sejoale-joale, 'me li hloka mosebetsi o boima haholo ho li boloka ka lebaka la ho rarahana ha tsona.
  • Tsebisitsoe mochini o siiloeng ke nako Ts'ebetso ea RMI, e tla tlosoa tokollong e tlang. Hoa hlokomeloa hore RMI Activation e siiloe ke nako, e behiloe sehlopheng sa khetho ho Java 8 mme ha e so sebelisoe mehleng ea kajeno.
  • E hlakotsoe Enjine ea JavaScript Nashorn, e neng e tlositsoe ho Java SE 11.
  • E tlositsoe likou tsa Solaris OS le li-processor tsa SPARC (Solaris/SPARC, Solaris/x64 le Linux/SPARC). Ho tlosa likou tsena ho tla lumella sechaba ho potlakisa nts'etsopele ea likarolo tse ncha tsa OpenJDK ntle le ho senya nako ho boloka likarolo tse ikhethang tsa Solaris le SPARC.

Source: opennet.ru

Eketsa ka tlhaloso