Java SE 15 saor an asgaidh

Às deidh sia mìosan de leasachadh, Oracle ma sgaoil àrd-ùrlar JavaSE 15 (Java Platform, Standard Edition 15), tha am pròiseact stòr fosgailte OpenJDK air a chleachdadh mar bhuileachadh iomraidh. Bidh Java SE 15 a’ cumail co-chòrdalachd air ais le fiosan roimhe seo den àrd-ùrlar Java; obraichidh a h-uile pròiseact Java a chaidh a sgrìobhadh roimhe gun atharrachaidhean nuair a thèid a chuir air bhog fon dreach ùr. Togail Java SE 15 deiseil airson a stàladh (JDK, JRE agus Server JRE) ullaichte airson Linux (x86_64), Windows agus macOS. Buileachadh iomraidh air a leasachadh leis a’ phròiseact OpenJDK Java 15 tha e gu tur fosgailte fo chead GPLv2, le eisgeachdan GNU ClassPath a’ ceadachadh ceangal fiùghantach le toraidhean malairteach.

Tha Java SE 15 air a chomharrachadh mar sgaoileadh taic coitcheann agus cumaidh e a’ faighinn ùrachaidhean gus an ath fhoillseachadh. Bu chòir gum biodh am meur Taic Fad-ùine (LTS) Java SE 11, a chumas air adhart a’ faighinn ùrachaidhean gu 2026. Bidh am meur LTS roimhe de Java 8 a’ faighinn taic chun Dùbhlachd 2020. Tha an ath fhoillseachadh LTS clàraichte airson Sultain 2021. Leig dhuinn do chuimhneachadh, a’ tòiseachadh le sgaoileadh Java 10, gun do thionndaidh am pròiseact gu pròiseas leasachaidh ùr, a’ ciallachadh cearcall nas giorra airson fiosan ùra a chruthachadh. Tha comas-gnìomh ùr a-nis air a leasachadh ann an aon phrìomh mheur a tha air ùrachadh gu cunbhalach, a tha a’ toirt a-steach atharrachaidhean deiseil agus às am bi meuran air an roinn gach sia mìosan gus fiosan ùra a dhèanamh seasmhach.

Bho innleachdan Java 15 urrainn chomharra:

  • Air a thogail a-steach taic airson algairim cruthachaidh ainmean didseatach EdDSA (Edwards-Curve Digital Signature Algorithm). RFC 8032). Chan eil buileachadh EdDSA a tha san amharc an urra ri àrd-ùrlaran bathar-cruaidh, tha e air a dhìon bho ionnsaighean taobh-seanail (tha ùine cunbhalach de gach àireamhachadh air a dhèanamh cinnteach) agus tha e nas luaithe ann an coileanadh na buileachadh ECDSA a tha sgrìobhte ann an cànan C, leis an aon ìre de dhìon. Mar eisimpleir, tha EdDSA a’ cleachdadh lùb elliptic le iuchair 126-bit a’ taisbeanadh coileanadh coltach ri ECDSA le lùb elliptic secp256r1 agus iuchair 128-bit.
  • Air a chur ris taic deuchainneach airson clasaichean seulaichte agus eadar-aghaidh, nach urrainn clasaichean agus eadar-aghaidh eile a chleachdadh gus am buileachadh a shealbhachadh, a leudachadh no a chuir thairis. Bidh clasaichean seulaichte cuideachd a’ toirt seachad dòigh nas dearbhaiche air cleachdadh sàr-chlas a chuingealachadh na luchd-atharrachaidh ruigsinneachd, stèidhichte air a bhith a’ liostadh gu soilleir na fo-chlasaichean a tha ceadaichte airson leudachadh.

    pasgan com.example.geometry;

    Cruth clas seulaichte poblach
    a’ ceadachadh com.example.polar.Circle,
    com.example.quad.Rectangle,
    com.example.quad.simple.Square {…}

  • Air a chur ris taic airson clasaichean falaichte nach gabh a chleachdadh gu dìreach le bytecode chlasaichean eile. Is e prìomh adhbhar chlasaichean falaichte a bhith air an cleachdadh ann am frèaman a bhios a’ gineadh chlasaichean gu fiùghantach aig àm ruith agus gan cleachdadh gu neo-dhìreach, tro meòrachadh. Mar as trice bidh cearcall-beatha cuibhrichte aig na clasaichean sin, agus mar sin chan eil e reusanta an cumail suas airson faighinn a-steach bho chlasaichean air an cruthachadh gu staitigeach agus cha lean sin ach gu barrachd caitheamh cuimhne. Bidh clasaichean falaichte cuideachd a’ cur às don fheum air an API neo-àbhaisteach sun.misc.Unsafe ::defineAnonymousClass, a thathar an dùil a thoirt air falbh san àm ri teachd.
  • Tha an neach-cruinneachaidh sgudail ZGC (Z Garbage Collector) air a bhith seasmhach agus air aithneachadh mar deiseil airson a chleachdadh gu farsaing. Bidh ZGC ag obair ann am modh fulangach, a’ lughdachadh latency mar thoradh air cruinneachadh sgudail cho mòr ‘s as urrainn (chan eil ùine an stàile nuair a bhios tu a’ cleachdadh ZGC nas àirde na 10 ms.) agus faodaidh e obrachadh le cruachan beaga is mòra, eadar meud bho ghrunn cheudan megabytes gu mòran terabytes.
  • Seasmhach agus air a lorg deiseil airson cleachdadh coitcheann
    neach-cruinneachaidh sgudail Shenandoah, ag obair le glè bheag de stadan (Cruinniche Sàr-ùine Ìosal). Chaidh Shenandoah a leasachadh le Red Hat agus tha e sònraichte airson a bhith a’ cleachdadh algairim a lughdaicheas an ùine stàile aig àm cruinneachadh sgudail le bhith a’ ruith glanadh aig an aon àm ri cur an gnìomh iarrtasan Java. Tha meud an dàil a thug an neach-cruinneachaidh sgudail a-steach ro-innseach agus chan eil e an urra ri meud a’ charbaid, i.e. airson tiùrran de 200 MB agus 200 GB bidh an dàil co-ionann (na thig a-mach nas fhaide na 50 ms agus mar as trice taobh a-staigh 10 ms);

  • Tha taic air a bhith seasmhach agus air a thoirt a-steach don chànan blocaichean teacsa - cruth ùr de litrichean sreang a leigeas leat dàta teacsa ioma-loidhne a thoirt a-steach don chòd stòr gun a bhith a’ cleachdadh caractar a ’teicheadh ​​​​agus a’ gleidheadh ​​​​an cruth teacsa tùsail sa bhloc. Tha am bloc air a dhealbhadh le trì luachan dùbailte.

    Mar eisimpleir, an àite còd

    sreang html = " »+
    "\n\t" +" »+
    "\n\t\t" +" \"Tha Java 1 an seo!\" »+
    "\n\t" +" »+
    "\n" +" ";

    faodaidh tu a shònrachadh:

    String html = """


    » Java 1 \
    tha an seo!

    """;

  • Ath-dhealbhadh Legacy DatagramSocket API. Chaidh buileachadh ùr-nodha a chuir an àite java.net.DatagramSocket agus java.net.MulticastSocket a tha nas fhasa a dheasbad agus a chumail suas, agus a tha cuideachd co-chòrdail ri sruthan brìgheil a chaidh a leasachadh taobh a-staigh a’ phròiseict. Beart. Ma dh’ fhaodadh a bhith neo-chòrdail ris a’ chòd a th’ ann mar-thà, cha deach an seann bhuileachadh a thoirt air falbh agus faodar a chomasachadh le bhith a’ cleachdadh an roghainn jdk.net.usePlainDatagramSocketImpl.
  • An dàrna buileachadh deuchainneach air a mholadh co-chòrdadh pàtran anns a’ ghnìomhaiche “instanceof”, a leigeas leat caochladair ionadail a mhìneachadh sa bhad gus faighinn chun luach sgrùdaichte. Mar eisimpleir, faodaidh tu sgrìobhadh sa bhad “ma tha (obj eisimpleir String s && s.length()> 5) {.. s.contains(..) ..}” gun a bhith a’ mìneachadh “String s = (String) obj” gu soilleir.

    Bha:

    ma tha (obj example of Group) {
    Buidheann buidhne = (Buidheann) obj;
    var inntrigidhean = group.getEntries();
    }

    A-nis faodaidh tu a dhèanamh às aonais a’ mhìneachaidh “Buidheann buidhne = (Buidheann) obj”:

    ma tha (obj eisimpleir de bhuidheann buidhne) {
    var inntrigidhean = group.getEntries();
    }

  • Air a mholadh an dàrna buileachadh deuchainneach den phrìomh fhacal"chlàr“, a tha a’ toirt seachad cruth teann airson clasaichean a mhìneachadh, a leigeas leat diofar dhòighean ìre ìosal a sheachnadh leithid co-ionann (), hashCode () agus toString () ann an cùisean far a bheil dàta air a stòradh a-mhàin ann an raointean far nach eil giùlan ag atharrachadh. Nuair a bhios clas a’ cleachdadh buileachadh àbhaisteach de na dòighean co-ionann (), hashCode () agus toString (), faodaidh e dèanamh às aonais am mìneachadh soilleir:

    Clàr poblach Gnìomh Banca (ceann-latha Ceann-latha Ionadail,
    meud dùbailte
    Tuairisgeul sreang) {}

    Bidh an dearbhadh seo gu fèin-obrachail a’ cur an gnìomh modhan co-ionann (), hashCode() agus toString() a bharrachd air na dòighean togail is faighinn.

  • Air a mholadh dàrna ro-shealladh den API Cothrom Cèin-Cuimhne, a’ leigeil le tagraidhean Java faighinn gu roinnean cuimhne taobh a-muigh a’ charn Java gu tèarainte agus gu h-èifeachdach le bhith a’ làimhseachadh na h-iomraidhean ùra MemorySegment, MemoryAddress, agus MemoryLayout.
  • Ciorramach agus rinn e ìsleachadh air an dòigh-obrach optimization Glasadh Biased a chaidh a chleachdadh anns an HotSpot JVM gus glasadh os cionn a lughdachadh. Tha an dòigh seo air a bhuntanas a chall air siostaman le stiùireadh atamach air a thoirt seachad le CPUan an latha an-diugh, agus tha e ro dhian-obrach airson a chumail suas air sgàth cho iom-fhillte ‘s a tha e.
  • Air ainmeachadh inneal seann-fhasanta Gnìomhachadh RMI, a thèid a thoirt air falbh ann am brath san àm ri teachd. Thathas a’ toirt fa-near gu bheil RMI Activation seann-fhasanta, air a chuir sìos gu roinn roghainn ann an Java 8 agus cha mhòr nach eil e air a chleachdadh ann an cleachdadh an latha an-diugh.
  • Air a sguabadh às An t-einnsean-javascript a Nashorn, nach deach a mholadh ann an Java SE 11.
  • Air a sguabadh às puirt airson pròiseasairean Solaris OS agus SPARC (Solaris / SPARC, Solaris / x64 agus Linux / SPARC). Leigidh toirt air falbh na puirt sin leis a’ choimhearsnachd leasachadh air feartan ùra OpenJDK a luathachadh gun a bhith a’ caitheamh ùine a’ cumail suas feartan sònraichte Solaris agus SPARC.

Source: fosgailtenet.ru

Cuir beachd ann