Java SE 14 scaoileadh

Tar éis sé mhí d'fhorbairt, Oracle scaoileadh ardán Iávais 14 (Java Platform, Standard Edition 14), úsáidtear an tionscadal foinse oscailte OpenJDK mar chur chun feidhme tagartha. Coinníonn Java SE 14 comhoiriúnacht siar le heisiúintí an ardáin Java roimhe seo; oibreoidh gach tionscadal Java a scríobhadh roimhe seo gan athruithe nuair a sheoltar é faoin leagan nua. Tógálacha Java SE 14 atá réidh le suiteáil (JDK, JRE agus Server JRE) ullmhaithe le haghaidh Linux (x86_64), Windows agus macOS. Cur i bhfeidhm tagartha arna fhorbairt ag an tionscadal OpenJDK Java 14 foinse oscailte go hiomlán faoin gceadúnas GPLv2, le heisceachtaí GNU ClassPath a cheadaíonn nascadh dinimiciúil le táirgí tráchtála.

Tá Java SE 14 rangaithe mar scaoileadh tacaíochta ginearálta agus leanfaidh sé de bheith ag fáil nuashonruithe go dtí an chéad scaoileadh eile. Ba cheart go mbeadh an brainse Tacaíochta Fadtéarmach (LTS) Java SE 11, a leanfaidh de bheith ag fáil nuashonruithe go dtí 2026. Tabharfar tacaíocht don bhrainse LTS roimhe seo de Java 8 go dtí Nollaig 2020. Tá an chéad eisiúint LTS eile sceidealta do Mheán Fómhair 2021. Cuirfimid i gcuimhne duit, ag tosú le scaoileadh Java 10, gur aistrigh an tionscadal go próiseas forbartha nua, rud a thugann le tuiscint timthriall níos giorra chun eisiúintí nua a fhoirmiú. Forbraítear feidhmiúlacht nua anois i máistirbhrainse amháin a nuashonraítear i gcónaí, lena n-áirítear athruithe réamhdhéanta agus as a ndéantar brainsí a chraobhscaoileadh gach sé mhí chun eisiúintí nua a chobhsú.

As nuálaíochtaí Java 14 Is féidir ceann marc:

  • Cuireadh tacaíocht turgnamhach leis meaitseáil patrún san oibreoir “instanceof”, a ligeann duit athróg áitiúil a shainiú láithreach chun rochtain a fháil ar an luach seiceála. Mar shampla, is féidir leat “más rud é (obj instanceof String s && s.length()> 5) {.. s.contains(..) ..}” a scríobh láithreach gan “Teaghrán s = (Teaghrán) obj” a shainmhíniú go sainráite.

    Bhí sé:

    más rud é (obj instance of Group) {
    Grúpa grúpa = (Grúpa) obj;
    iontrálacha var = group.getEntries();
    }

    Anois is féidir leat a dhéanamh gan an sainmhíniú “Grúpa grúpa = (Grúpa) obj”:

    más rud é (obj shampla an ghrúpa Grúpa) {
    iontrálacha var = group.getEntries();
    }

  • Cuireadh tacaíocht thurgnamhach leis an eochairfhocal nua "taifead", a sholáthraíonn foirm dhlúth chun aicmí a shainiú, a ligeann duit modhanna éagsúla ísealleibhéil a shainmhíniú go sainráite, mar shampla comhionann(), hashCode() agus toString() i gcásanna nach stóráiltear sonraí ach i réimsí nach n-athraíonn a n-iompraíocht. Nuair a úsáideann aicme feidhmiúcháin chaighdeánacha na modhanna comhionanna(), hashCode() agus toString(), is féidir leis déanamh gan sainmhíniú sainráite orthu:

    taifead poiblí Idirbheart Bainc(Dáta Logánta,
    méid dúbailte
    Cur síos teaghrán) {}

    Leis an dearbhú seo cuirfear i bhfeidhm go huathoibríoch na modhanna comhionanna(), hashCode() agus toString() de bhreis ar na modhanna cruthaitheoir agus faighteoir.

  • Caighdeánaithe agus cumasaítear tacaíocht d’fhoirm nua slonn “lasc” de réir réamhshocraithe, nach gá an t-oibreoir “sos” a shonrú, ligeann duit lipéid a chomhcheangal arís agus arís eile agus is féidir iad a úsáid ní hamháin i bhfoirm oibreora, ach freisin mar oibreoir. léiriú.

    var logáil = lasc (imeacht) {
    cás PLAY -> “Tá an cnaipe súgartha spreagtha ag an úsáideoir”;
    cás STOP, sos -> “Tá sos ag teastáil ón úsáideoir”;
    réamhshocraithe -> {
    Teachtaireacht teaghrán = event.toString();
    LocalDateTime anois = LocalDateTime.now();
    toradh "Imeacht anaithnid" + teachtaireacht +
    » logáilte isteach » + anois;
    }
    };

  • Tacaíocht thurgnamhach leathnaithe bloic téacs - foirm nua de litreacha teaghrán a ligeann duit sonraí téacs il-líne a chur san áireamh sa chód foinse gan úsáid a bhaint as carachtar éalú agus caomhnú an bhunfhormáidithe téacs sa bhloc. Tá an bloc frámaithe ag trí athfhriotail dhúbailte. I Java 14, tacaíonn bloic téacs anois leis an seicheamh "\s" éalaithe chun spás singil a shainiú agus "\" chun dul i ngleic leis an gcéad líne eile (gan aird ar línte nua nuair is gá duit líne an-fhada a phriontáil). Mar shampla, in ionad cód

    Teaghrán html = " »+
    "\n\t" + " »+
    "\n\t\t" + " \"Tá Java 1 anseo!\" »+
    "\n\t" + " »+
    "\n" +" ” ;

    is féidir leat a shonrú:

    Teaghrán html = """


    » Java 1\
    atá anseo!

    """;

  • Méadaíodh an t-ábhar faisnéise a bhaineann le diagnóisic nuair a tharlaíonn eisceachtaí NullPointerException. Cé nach ndearna an teachtaireacht earráide ach tagairt don uimhir líne, anois sonraítear cén modh ba chúis leis an eisceacht. Níl ard-dhiagnóisic cumasaithe faoi láthair ach amháin nuair a sheoltar í leis an mbratach “-XX:+ShowCodeDetailsInExceptionMessages”. Mar shampla, nuair a shonraítear an bhratach seo, an eisceacht sa líne

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

    beidh teachtaireacht mar thoradh air

    Eisceacht sa snáithe "príomh" java.lang.NullPointerException: Ní féidir "Location.getCity()" a agairt
    toisc go bhfuil luach aischuir "User.getLocation()" ar neamhní
    ag NullPointerExample.main(NullPointerExample.java:5):5)

    rud a fhágann gur léir nár glaodh ar an modh Location.getCity() agus gur sheol User.getLocation() ar ais null.

  • Curtha i bhfeidhm Réamhamharc ar an bhfóntas jpackage, a ligeann duit pacáistí a chruthú le haghaidh feidhmchláir Java féinchuimsitheacha. Tá an áirgiúlacht bunaithe ar javapackager ó JavaFX agus ligeann sé duit pacáistí a chruthú i bhformáidí dúchasacha d'ardáin éagsúla (msi agus exe do Windows, pkg agus dmg le haghaidh macOS, deb agus rpm le haghaidh Linux). Áiríonn na pacáistí gach spleáchas riachtanach.
  • Chuig an bailitheoir truflais G1 curtha leis meicníocht nua um leithdháileadh cuimhne a chuireann san áireamh na sonraí a bhaineann le hoibriú ar chórais mhóra a úsáideann an ailtireacht IN. Tá an ciontóir cuimhne nua cumasaithe ag baint úsáide as an mbratach “+ XX:+UseNUMA” agus féadann sé feidhmíocht ar chórais NUMA a fheabhsú go suntasach.
  • Curtha leis API le haghaidh monatóireachta ar an eitilt ar imeachtaí JFR (JDK Flight Recorder), mar shampla chun monatóireacht leanúnach a eagrú.
  • Curtha leis jdk.nio.mapmode modúl, a thairgeann modhanna nua (READ_ONLY_SYNC, WRITE_ONLY_SYNC) chun maoláin beart mapáilte (MappedByteBuffer) a thagraíonn do chuimhne neamh-luaineach (NVM) a chruthú.
  • Curtha i bhfeidhm Réamhamharc ar an API Rochtana Cuimhne Eachtrach, a ligeann d’fheidhmchláir Java rochtain a fháil go slán agus go héifeachtach ar réigiúin chuimhne lasmuigh den charn Java trí na hastarraingtí MemorySegment, MemoryAddress agus MemoryLayout nua a ionramháil.
  • D'fhógair calafoirt dhímheasta do phróiseálaithe Solaris OS agus SPARC (Solaris/SPARC, Solaris/x64 agus Linux/SPARC) agus é ar intinn na poirt seo a bhaint amach anseo. Má dhéantar na calafoirt seo a dhímheas, beidh an pobal in ann forbairt gnéithe nua OpenJDK a luathú gan am a chur amú ag cothabháil gnéithe a bhaineann go sonrach le Solaris agus SPARC.
  • Scriosta an bailitheoir truflais CMS (Mark Sweep Comhthráthach), a marcáladh imithe as feidhm dhá bhliain ó shin agus nár coinníodh fós (cuireadh bailitheoir truflais G1 ionad CMS i bhfad ó shin). Thairis sin, D'fhógair níor mhol sé úsáid a bhaint as teaglaim de halgartaim bailithe truflais ParallelScavenge agus SerialOld (rith leis na roghanna “-XX:+UseParallelGC -XX:-UseParallelOldGC”).
  • Tá tacaíocht thrialach do bhailitheoir truflais ZGC (Z Garbage Collector) curtha ar fáil ar ardáin macOS agus Windows (roimhe seo tacaithe ag Linux amháin). Feidhmíonn ZGC i mód éighníomhach, íoslaghdaíonn sé latency mar gheall ar bhailiú truflais oiread agus is féidir (nach bhfuil am stalla nuair a úsáid ZGC níos mó ná 10 ms.) agus is féidir ag obair le heaps idir bheag agus ollmhór, ag réimsiú i méid ó na céadta meigibheart go leor terabytes.
  • Bhaint Foireann uirlisí agus API chun comhaid JAR a chomhbhrú ag baint úsáide as an algartam Pack200.

Foinse: oscailtenet.ru

Add a comment