Java SE 14 kuburitswa

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

Java SE 14 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 14 anogona maka:

  • Akawedzera kuyedza rutsigiro 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();
    }

  • Yakawedzera kuyedza tsigiro yeitsva kiyi izwi "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.

  • Standardized uye tsigiro yemhando nyowani ye "switch" mataurirwo anogoneswa nekukasira, izvo zvisingade kutsanangura "break" opareta, inobvumidza iwe kusanganisa akadzokororwa mavara uye anogona kushandiswa kwete chete muchimiro chemushandisi, asiwo semugadziri. kutaura.

    var log = chinja (chiitiko) {
    kesi PLAY -> "Mushandisi atanga bhatani rekutamba";
    nyaya STOP, PAUSE -> "Mushandisi anoda kuzorora";
    default -> {
    String message = event.toString();
    LocalDateTime ikozvino = LocalDateTime.now ();
    bereka "Chiitiko chisingazivikanwe" + meseji +
    Β»logged onΒ» + ikozvino;
    }
    };

  • Yakawedzera tsigiro yekuedza 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. MuJava 14, zvivharo zvemavara zvino zvinotsigira kutevedzana kwekupukunyuka "\s" kutsanangura nzvimbo imwe chete uye "\" kuwiriranisa nemutsara unotevera (usingateereri mitsva mitsva kana iwe uchida kudhinda mutsara wakareba kwazvo). Somuenzaniso, panzvimbo yekodhi

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

    unogona kutsanangura:

    String html = """


    Β»Java 1\
    iri pano!

    """;

  • Ruzivo rwemukati rwekuongorora kana kusarudzika kuchiitika rawedzerwa NullPointerException. Ipo kare meseji yekukanganisa yaingotaura kune nhamba yemutsara, ikozvino inotsanangura kuti ndeipi nzira yakakonzera kusarudzika. Kuongororwa kwepamusoro pari zvino kunogoneswa chete kana kwakatangwa nemureza we "-XX:+ShowCodeDetailsInExceptionMessages". Semuenzaniso, kana uchitsanangura mureza uyu, kusarudzika mumutsara

    var name = user.getLocation().getCity().getName();

    zvinozoita meseji

    Kunze mu thread "main" java.lang.NullPointerException: Haikwanise kushevedzera "Location.getCity()"
    nekuti kukosha kwekudzoka kwe "User.getLocation()" hakuna
    paNullPointerExample.main(NullPointerExample.java:5):5)

    izvo zvinojekesa kuti Nzvimbo.getCity() nzira haina kudanwa uye User.getLocation() yakadzoka pasina.

  • Implemented Kutarisisa kwejpackage utility, iyo inokutendera iwe kuti ugadzire mapakeji ega ega Java application. Iyo yekushandisa yakavakirwa pajavapackager kubva kuJavaFX uye inokutendera iwe kuti ugadzire mapakeji mumafomati anowanikwa kune akasiyana mapuratifomu (msi uye exe yeWindows, pkg uye dmg yeMacOS, deb uye rpm yeLinux). Iwo mapakeji anosanganisira zvese zvinodiwa zvinoenderana.
  • KuG1 anonhonga marara akawedzera mutsva wekugovera ndangariro nzira iyo inofunga nezve chaiyo yekushanda pane yakakura masisitimu uchishandisa dhizaini NUMA. Iyo nyowani yekurangarira yekugovera inogoneswa uchishandisa iyo "+XX:+UseNUMA" mureza uye inogona kuvandudza zvakanyanya mashandiro pane NUMA masisitimu.
  • Added API yekutarisa-pa-kubhururuka kwezviitiko zveJFR (JDK Flight Recorder), semuenzaniso kuronga kuenderera kwekutarisa.
  • Added jdk .
  • Implemented Kutarisisa kweKune dzimwe nyika-Memory Access API, ichibvumira maapplication eJava kuti awane zvakachengeteka uye nemazvo kuwana ndangariro matunhu kunze kweJava murwi nekushandisa iyo itsva MemorySegment, MemoryAddress, uye MemoryLayout abstractions.
  • Kuziviswa zviteshi zvakadzikira zveSolaris OS uye SPARC processors (Solaris/SPARC, Solaris/x64 uye Linux/SPARC) nechinangwa chekubvisa zviteshi izvi mune ramangwana. Kurerutsa zviteshi izvi kunobvumira nharaunda kuti ikurumidze kuvandudzwa kwezvinhu zvitsva zveOpenJDK pasina kutambisa nguva kuchengetedza Solaris- uye SPARC-chaiyo maficha.
  • Dzadzimwa iyo CMS (Concurrent Mark Sweep) muunganidzi wemarara, iyo yakanyorwa kuti isingachashandi makore maviri apfuura uye yakaramba isina kuchengetedzwa (CMS yakatsiviwa kare neG1 anonhonga marara). Uyezve, yakaziviswa yakarasa kushandiswa kwemusanganiswa weParallelScavenge uye SerialOld marara ekuunganidza algorithms (mhanya nesarudzo β€œ-XX:+UseParallelGC -XX:-UseParallelOldGC”).
  • Tsigiro yekuyedza yeZGC (Z Garbage Collector) yekuunganidza marara yakapihwa paMacOS neWindows mapuratifomu (aimbotsigirwa paLinux chete). 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.
  • Yakabviswa Toolkit uye API yekumanikidza JAR mafaera uchishandisa iyo Pack200 algorithm.

Source: opennet.ru

Voeg