Java SE 15 famoahana

Taorian'ny enim-bolana fampandrosoana, Oracle navoaka sehatra JavaSE 15 (Java Platform, Standard Edition 15), ny tetikasa OpenJDK open-source dia ampiasaina ho fampiharana reference. Java SE 15 dia mitazona ny fifanarahana mihemotra amin'ny famoahana teo aloha ny sehatra Java; ny tetikasa Java rehetra nosoratana teo aloha dia hiasa tsy misy fiovana rehefa natomboka tamin'ny dikan-teny vaovao. Vonona hametraka Java SE 15 fananganana (JDK, JRE ary Server JRE) vonona ho an'ny Linux (x86_64), Windows ary macOS. Fampiharana reference novolavolain'ny tetikasa OpenJDK Java 15 dia loharano misokatra tanteraka eo ambanin'ny fahazoan-dΓ lana GPLv2, miaraka amin'ny GNU ClassPath maningana mamela ny fifandraisana mavitrika amin'ny vokatra ara-barotra.

Java SE 15 dia sokajiana ho famotsorana fanohanana ankapobeny ary hanohy handray fanavaozana mandra-pahatongan'ny famoahana manaraka. Ny sampana Long Term Support (LTS) dia tokony ho Java SE 11, izay mbola handray fanavaozana hatramin'ny 2026. Ny sampana LTS Java 8 teo aloha dia tohanana hatramin'ny Desambra 2020. Ny famoahana LTS manaraka dia nokasaina tamin'ny Septambra 2021. Avelao izahay hampahatsiahy anao fa nanomboka tamin'ny famoahana ny Java 10, ny tetikasa dia nivadika ho dingana fampandrosoana vaovao, izay midika fa tsingerina fohy kokoa ho an'ny fananganana famoahana vaovao. Ny fiasa vaovao dia novolavolaina ao amin'ny sampana master iray havaozina tsy tapaka, izay ahitana ny fanovana efa vita ary avy amin'ireo sampana nosampana isaky ny enim-bolana mba hanamafisana ny famoahana vaovao.

avy amin'ny fanavaozana Java 15 afaka manamarika:

  • Naorina-in fanohanana ny algorithm famoronana sonia nomerika EdDSA (Edwards-Curve Digital Signature Algorithm). RFC 8032). Ny fampiharana EdDSA naroso dia tsy miankina amin'ny sehatra hardware, voaaro amin'ny fanafihana an-tsisin'ny fantsona (azo antoka ny fotoana tsy tapaka amin'ny kajy rehetra) ary haingana kokoa amin'ny fampisehoana noho ny fampiharana ECDSA efa misy voasoratra amin'ny fiteny C, miaraka amin'ny ambaratonga fiarovana mitovy. Ohatra, EdDSA mampiasa curve elliptic miaraka amin'ny lakile 126-bit dia mampiseho fampisehoana mitovy amin'ny ECDSA miaraka amin'ny curve elliptic secp256r1 sy lakile 128-bit.
  • nanampy fanohanana andrana ho an'ny kilasy voaisy tombo-kase sy interface tsara, izay tsy azon'ny kilasy sy interface hafa handova, hanitarana, na hanesorana ny fampiharana. Ny kilasy voaisy tombo-kase ihany koa dia manome fomba fanambarana bebe kokoa hamerana ny fampiasana superclass noho ny mpanova fidirana, mifototra amin'ny lisitra mazava tsara ireo zana-kilasy navela hanitarana.

    package com.example.geometry;

    Kilasy voaisy tombo-kase ho an'ny daholobe Shape
    fahazoan-dΓ lana com.example.polar.Circle,
    com.example.quad.Rectangle,
    com.example.quad.simple.Square {…}

  • nanampy fanohanana ireo kilasy miafina izay tsy azo ampiasaina mivantana amin'ny bytecode an'ny kilasy hafa. Ny tanjona fototra amin'ny kilasy miafina dia ny hampiasaina amin'ny rafitra izay mamorona kilasy mavitrika amin'ny fotoana fandehanana ary mampiasa azy ireo ankolaka, amin'ny alΓ lan'ny taratra. Ny kilasy toy izany matetika dia manana tsingerin'ny fiainana voafetra, ka ny fitazonana azy ireo ho an'ny fidirana amin'ny kilasy static dia tsy voamarina ary hitarika amin'ny fitomboan'ny fanjifana fahatsiarovana fotsiny. Ny kilasy miafina ihany koa dia manafoana ny filana ny API tsy manara-penitra sun.misc.Unsafe::defineAnonymousClass, izay kasaina ho esorina amin'ny ho avy.
  • Ny mpanangona fako ZGC (Z Garbage Collector) dia nalamina ary fantatra fa vonona hampiasaina betsaka. ZGC dia miasa amin'ny fomba passive, manamaivana ny fahatarana noho ny fanangonana fako araka izay azo atao (ny fotoana fijanonana rehefa mampiasa ZGC dia tsy mihoatra ny 10 ms.) ary afaka miasa miaraka amin'ny antontam-bato kely sy lehibe, manomboka amin'ny megabytes an-jatony ka hatramin'ny terabytes maro.
  • Niorina ary hita fa vonona ho an'ny fampiasana ankapobeny
    mpanangona fako Shenandoah, miasa miaraka amin'ny fiatoana kely indrindra (Low-Pause-Time Garbage Collector). Shenandoah dia novolavolain'ny Red Hat ary malaza amin'ny fampiasana algorithm izay mampihena ny fotoana fijanonana mandritra ny fanangonana fako amin'ny alΓ lan'ny fanadiovana mifanaraka amin'ny fampiharana Java. Ny haben'ny fahatarana nampidirin'ny mpanangona fako dia azo vinavinaina ary tsy miankina amin'ny haben'ny antontam-bato, izany hoe. ho an'ny antontam-bato 200 MB sy 200 GB dia hitovy ny fahatarana (aza mivoaka mihoatra ny 50 ms ary matetika ao anatin'ny 10 ms);

  • Niorina sy nampidirina tamin'ny fiteny ny fanohanana andian-tsoratra - endrika vaovao amin'ny litera tady izay ahafahanao mampiditra angon-drakitra an-tsoratra maromaro ao amin'ny kaody loharano nefa tsy mampiasa endri-tsoratra mandositra sy mitahiry ny fandrafetana lahatsoratra tany am-boalohany ao amin'ny sakana. Ny sakana dia voaravaka teny roa sosona.

    Ohatra, fa tsy code

    String html = " Β»+
    "\n\t" + " Β»+
    "\n\t\t" + " \"Eto ny Java 1!\" Β»+
    "\n\t" + " Β»+
    "\n" + " ";

    azonao atao ny mamaritra:

    String html = """


    Β»Java 1\
    eto!

    """;

  • Naverina niasa Legacy DatagramSocket API. Ny fampiharana taloha an'ny java.net.DatagramSocket sy java.net.MulticastSocket dia nosoloina fampiharana maoderina izay mora kokoa ny debug sy ny fikojakojana, ary mifanaraka amin'ny stream virtoaly novolavolaina ao anatin'ny tetikasa. haraka. Raha toa ka mety tsy mifanaraka amin'ny kaody efa misy dia tsy nesorina ny fampiharana taloha ary azo alefa amin'ny alalan'ny safidy jdk.net.usePlainDatagramSocketImpl.
  • Naroso ny fampiharana andrana faharoa mifanaraka amin'ny lamina ao amin'ny operator "instanceof", izay ahafahanao mamaritra avy hatrany ny fari-piainana eo an-toerana mba hidirana amin'ny sanda voamarina. Ohatra, azonao atao ny manoratra avy hatrany hoe β€œraha (obj instanceof String s && s.length() > 5) {.. s.contains(..) ..}” nefa tsy mamaritra mazava hoe β€œString s = (String) obj”.

    dia:

    raha (obj instanceof Group) {
    Vondrona vondrona = (vondrona) obj;
    var entries = group.getEntries();
    }

    Azonao atao izao raha tsy misy ny famaritana "Group group = (Group) obj":

    raha (obj instanceof vondrona vondrona) {
    var entries = group.getEntries();
    }

  • nanolo-kevitra fampiharana andrana faharoa amin'ny teny fototra "firaketana an-tsoratra", izay manome endrika marim-pototra hamaritana kilasy, ahafahanao misoroka ny famaritana mazava ny fomba fiasa ambany isan-karazany toy ny equals(), hashCode() ary toString() raha toa ka voatahiry ao amin'ny saha izay tsy miova ny fitondran-tenany. Rehefa mampiasa fomba fampiharana mahazatra ny equals(), hashCode() ary toString() ny kilasy iray, dia afaka manao izany tsy misy famaritana mazava:

    firaketana ho an'ny daholobe BankTransaction(Daty Daty an-toerana,
    avo roa heny
    Famariparitana tady) {}

    Ity fanambarana ity dia hanampy ho azy ny fampiharana ny equals(), hashCode() ary toString() ho fanampin'ny constructor sy getter method.

  • nanolo-kevitra fijery faharoa momba ny Foreign-Memory Access API, mamela ny fampiharana Java hiditra amin'ny fomba azo antoka sy mahomby amin'ny faritra fitadidiana ivelan'ny Java heap amin'ny alΓ lan'ny fanodikodinana ireo abstractions MemorySegment, MemoryAddress, ary MemoryLayout vaovao.
  • sembana ary nanafoana ny teknikan'ny optimization Biased Locking ampiasaina ao amin'ny HotSpot JVM mba hampihenana ny hidin-trano. Ity teknika ity dia very ny lanjany amin'ny rafitra misy toromarika atomika omen'ny CPU maoderina, ary sarotra loatra ny mitazona azy noho ny fahasarotany.
  • nanambara mekanika efa lany andro RMI Activation, izay hesorina amin'ny famoahana ho avy. Marihina fa efa lany andro ny RMI Activation, nafindra amin'ny sokajy safidy ao amin'ny Java 8 ary saika tsy ampiasaina amin'ny fanao maoderina.
  • nofafana motera JavaScript rhino, izay nesorina tao amin'ny Java SE 11.
  • nesorina seranana ho an'ny processeur Solaris OS sy SPARC (Solaris/SPARC, Solaris/x64 ary Linux/SPARC). Ny fanesorana ireo seranana ireo dia ahafahan'ny vondrom-piarahamonina manafaingana ny fampivoarana ireo endri-javatra OpenJDK vaovao tsy misy fandaniam-potoana amin'ny fitazonana ireo endri-javatra manokana Solaris sy SPARC.

Source: opennet.ru

Add a comment