Java SE 15 kuburitswa

Mushure memwedzi mitanhatu yebudiriro, Oracle yakaburitswa platform Java SE15 (Java Platform, Standard Edition 15), iyo yakavhurika-sosi OpenJDK purojekiti inoshandiswa sereferensi kuita. Java SE 15 inochengetedza kumashure kuenderana neyakapfuura kuburitswa kwepuratifomu yeJava; ese akambonyorwa Java mapurojekiti achashanda pasina shanduko kana ichiitwa pasi peiyo vhezheni itsva. Yakagadzirira-kuisa Java SE 15 inovaka (JDK, JRE uye Server JRE) yakagadzirirwa yeLinux (x86_64), Windows uye macOS. Reference kushandiswa kwakagadzirwa neiyo OpenJDK chirongwa Java 15 yakanyatsovhurwa sosi pasi peGPLv2 rezinesi, ine GNU ClassPath inosarudzika inobvumira kubatanidza zvine simba nezvigadzirwa zvekutengesa.

Java SE 15 inorongedzerwa seyakajairwa tsigiro kuburitswa uye icharamba ichigashira zvigadziriso kusvika kuburitswa kunotevera. Iyo Yenguva Yakareba Rutsigiro (LTS) bazi rinofanirwa kunge riri Java SE 11, iyo icharamba ichiwana zvigadziriso kusvika 2026. Iyo yapfuura LTS bazi reJava 8 richatsigirwa kusvika Zvita 2020. Iyo inotevera LTS kuburitswa yakarongerwa Gunyana 2021. Ngatikuyeuchidzei kuti kutanga nekuburitswa kweJava 10, purojekiti yakachinjira kune imwe nzira yekuvandudza, zvichireva kupfupika kutenderera kwekuumbwa kwezvitsva zvinoburitswa. Kushanda kutsva kwave kugadziridzwa mune rimwe rinogara rakagadziridzwa master bazi, iro rinosanganisira yakagadzirira-yakagadzirwa shanduko uye kubva kune iyo matavi anoiswa matavi mwedzi mitanhatu yega yega kudzikamisa zvitsva zvinoburitswa.

Of zvitsva Java 15 anogona maka:

  • Yakavakwa-mukati rutsigiro rweEdDSA (Edwards-Curve Digital Siginecha Algorithm) yedhijitari siginecha yekugadzira algorithm RFC 8032) Kuitwa kwakarongwa kweEdDSA hakubvi pamapuratifomu ehardware, kunodzivirirwa kubva pakurwiswa kweparutivi (nguva isingaperi yekuverenga kwese inosimbiswa) uye inokurumidza mukuita kupfuura iyo iripo ECDSA yekuitwa yakanyorwa mumutauro weC, ine mwero wakafanana wekudzivirira. Semuenzaniso, EdDSA inoshandisa elliptic curve ine 126-bit kiyi inoratidza kuita kwakafanana neECDSA ine secp256r1 elliptic curve uye 128-bit kiyi.
  • Added tsigiro yekuyedza yemakirasi akavharwa uye mainterfaces, ayo asingakwanise kushandiswa nemamwe makirasi uye mainterface kuti atore nhaka, kuwedzera, kana kupfuudza kuita. Makirasi akaiswa chisimbiso anopawo nzira inozivisa yekudzora kushandiswa kweyepamusoro pane yekuwana modhifita, zvichibva pakunyora zvakajeka madiki madiki anotenderwa kuwedzera.

    package com.example.geometry;

    public yakavharwa kirasi Shape
    mvumo com.example.polar.Circle,
    com.example.quad.Rectangle,
    com.example.quad.simple.Square {...}

  • Added rutsigiro rwemakirasi akavanzika asingagone kushandiswa zvakananga nebytecode yemamwe makirasi. Chinangwa chikuru chemakirasi akavanzika ndechekushandiswa muzvirongwa zvinogadzira makirasi panguva yekumhanya uye nekuashandisa zvisina kunanga, kuburikidza. kuratidzwa. Makirasi akadaro anowanzo kuve nehupenyu hushoma kutenderera, saka kuvachengetedza kuti vasvike kubva kune statically yakagadzirwa makirasi hazvina kurongeka uye zvinongotungamira mukuwedzera ndangariro kushandiswa. Makirasi akavanzika anobvisawo kudiwa kweiyo isiri-standard API sun.misc.Unsafe::defineAnonymousClass, iyo yakarongerwa kubviswa mune ramangwana.
  • Mutakuri wemarara weZGC (Z Garbage Collector) wagadzikana uye unoonekwa sewagadzirira kushandiswa nevakawanda. ZGC inoshanda nenzira yekusaziva, inoderedza kunonoka nekuda kwekuunganidzwa kwemarara zvakanyanya sezvinobvira (nguva yekuchengetera kana uchishandisa ZGC haipfuure gumi ms.) uye inogona kushanda nemirwi midiki uye mikuru, inotangira muhukuru kubva kumazana akawanda emegabytes kusvika kune akawanda terabytes.
  • Yakagadzikana uye inowanikwa yakagadzirira kushandiswa kwese
    muunganidzi wemarara Shenandoah, kushanda nekumbomira kushoma (Low-Pause-Time Garbage Collector). Shenandoah yakagadzirwa neRed Hat uye inozivikanwa pakushandisa kwayo algorithm iyo inoderedza nguva yekutandarira panguva yekuunganidzwa kwemarara nekumhanyisa kuchenesa kunoenderana nekuitwa kweJava application. Kukura kwekunonoka kwakaunzwa nemuunganidzi wemarara kunofungidzirwa uye hakubvi pakukura kwemurwi, i.e. kune mirwi ye200 MB uye 200 GB kunonoka kunenge kwakafanana (usabude kupfuura 50 ms uye kazhinji mukati me10 ms);

  • Rutsigiro rwakadzikamiswa uye rwakapinzwa mumutauro text blocks - fomu nyowani yetambo literals iyo inokutendera iwe kuti ubatanidze akawanda-mutsara mameseji data mune sosi kodhi pasina kushandisa hunhu kutiza uye kuchengetedza iwo ekutanga mafomati emavara mubhuroka. Iyo block inoumbwa nematatu maquotes akapetwa kaviri.

    Somuenzaniso, panzvimbo yekodhi

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

    unogona kutsanangura:

    String html = """


    Β»Java 1\
    iri pano!

    """;

  • Redesigned Legacy DatagramSocket purogiramu. Mashandisirwo ekare ejava.net.DatagramSocket uye java.net.MulticastSocket akatsiviwa nekushandiswa kwemazuva ano kuri nyore kugadzirisa nekuchengetedza, uye zvakare inofambirana nehova chaidzo dzakagadzirwa mukati meprojekiti. Loom. Muchiitiko chekusawirirana nekodhi iripo, kushandiswa kwekare hakuna kubviswa uye kunogona kushandiswa uchishandisa jdk.net.usePlainDatagramSocketImpl sarudzo.
  • Yechipiri yekuedza kushandiswa inokurudzirwa kuenzanisa muenzaniso mu "instanceof" opareta, iyo inokubvumira kuti utsanangure pakarepo shanduko yemunharaunda kuti uwane iyo yakatariswa kukosha. Semuenzaniso, unogona kunyora pakarepo "kana (obj exampleof String s && s.length() > 5) {.. s.contains(..) ..}" pasina kutsanangura zvakajeka "String s = (String) obj".

    Waive:

    kana (obj muenzaniso weBoka) {
    Boka reboka = (Boka) obj;
    var entries = group.getEntries();
    }

    Iye zvino unogona kuita pasina tsananguro "Boka Boka = (Boka) obj":

    kana (obj muenzaniso weBoka boka) {
    var entries = group.getEntries();
    }

  • Proposed kechipiri kuedza kushandiswa kwezwi guru "rekodhi", iyo inopa compact fomu yekutsanangura makirasi, zvichikubvumidza kuti udzivise kutsanangura zvakajeka nzira dzakasiyana-siyana dzepasi seyakaenzana (), hashCode () uye toString () mune zviitiko apo data rinochengetwa chete muminda ine maitiro asingachinji. Kana kirasi ichishandisa zvakajairwa kuita kweakaenzana(), hashCode() uye toString() nzira, inogona kuita pasina tsananguro yavo yakajeka:

    yeruzhinji rekodhi BankTransaction (LocalDate zuva,
    kaviri mari
    Tsanangudzo yetambo) {}

    Ichi chiziviso chinozowedzera otomatiki mashandisirwo eequals(), hashCode() uye toString() nzira mukuwedzera kune muvaki uye getter nzira.

  • Proposed chechipiri chekutarisa cheKune dzimwe nyika-Memory Access API, ichibvumira maapplication eJava kuti awane zvakachengeteka uye nemazvo kuwana ndangariro nzvimbo dziri kunze kweJava murwi nekushandisa iyo itsva MemorySegment, MemoryAddress, uye MemoryLayout abstractions.
  • Yakaremara uye yakabvisa iyo Biased Locking optimization tekinoroji inoshandiswa muHotSpot JVM kuderedza kukiya pamusoro. Iyi tekinoroji yakarasa kukosha kwayo pamasisitimu ane mirairo yeatomu yakapihwa neazvino maCPU, uye yakanyanya kushanda-yakanyanya kuchengetedza nekuda kwekuoma kwayo.
  • Kuziviswa mashandiro echinyakare RMI Activation, iyo ichabviswa mukusunungurwa mune ramangwana. Zvinocherechedzwa kuti RMI Activation ndeyekare, yakasiiwa kune chikamu chesarudzo muJava 8 uye haisati yamboshandiswa mukuita kwemazuva ano.
  • Dzadzimwa JavaScript injini chipembere, iyo yakabviswa muJava SE 11.
  • Yakabviswa zviteshi zveSolaris OS uye SPARC processors (Solaris/SPARC, Solaris/x64 uye Linux/SPARC). Kubvisa zviteshi izvi kunobvumira nharaunda kuti ikurumidze kuvandudzwa kwezvinhu zvitsva zveOpenJDK pasina kutambisa nguva kuchengetedza Solaris uye SPARC chaiyo maficha.

Source: opennet.ru

Voeg