Java SE 15 saki

Bayan watanni shida na ci gaba, Oracle saki dandamali JavaSE 15 (Java Platform, Standard Edition 15), buɗe tushen aikin OpenJDK ana amfani dashi azaman aiwatar da tunani. Java SE 15 yana kula da dacewa da baya tare da abubuwan da aka saki na dandali na Java; duk ayyukan Java da aka rubuta a baya za su yi aiki ba tare da canje-canje ba yayin gudanar da sabon sigar. Shirye-shiryen shigar Java SE 15 yana ginawa (JDK, JRE da Server JRE) shirya don Linux (x86_64), Windows da macOS. Aiwatar da tunani wanda aikin OpenJDK ya haɓaka Java 15 cikakken buɗaɗɗen tushe ne ƙarƙashin lasisin GPLv2, tare da keɓancewar GNU ClassPath da ke ba da damar haɗin kai tare da samfuran kasuwanci.

Java SE 15 an rarraba shi azaman sakin tallafi na gabaɗaya kuma zai ci gaba da karɓar sabuntawa har zuwa saki na gaba. Reshen Tallafin Dogon Lokaci (LTS) yakamata ya zama Java SE 11, wanda zai ci gaba da karɓar sabuntawa har zuwa 2026. Za a tallafawa reshen LTS na baya na Java 8 har zuwa Disamba 2020. An tsara sakin LTS na gaba don Satumba 2021. Bari mu tunatar da ku cewa farawa tare da sakin Java 10, aikin ya canza zuwa sabon tsarin ci gaba, yana nuna gajeriyar zagayowar don samuwar sabbin abubuwan. Sabbin ayyuka yanzu an haɓaka su a cikin reshe mai ɗaukaka koyaushe, wanda ya haɗa da shirye-shiryen sauye-sauye kuma daga waɗanda ake reshe rassan kowane wata shida don daidaita sabbin abubuwan da aka fitar.

Daga sababbin abubuwa Java 15 iya Alama:

  • Gina-ciki goyan bayan EdDSA (Edwards-Curve Digital Signature Algorithm) ƙirƙirar sa hannu na dijital RFC 8032). Aiwatar da EdDSA da aka tsara bai dogara da dandamali na kayan aiki ba, ana kiyaye shi daga hare-haren tashoshi na gefe (ana tabbatar da lokaci na duk lissafin) kuma yana da sauri cikin aiki fiye da aiwatar da ECDSA na yanzu da aka rubuta a cikin harshen C, tare da matakin kariya. Misali, EdDSA ta yin amfani da lanƙwan elliptic tare da maɓalli 126-bit yana nuna irin wannan aiki zuwa ECDSA tare da secp256r1 elliptic curve da maɓallin 128-bit.
  • Kara goyan bayan gwaji don azuzuwan hatimi da musaya, waɗanda wasu azuzuwan da musaya ba za su iya amfani da su don gado, ƙarawa, ko soke aiwatarwa ba. Har ila yau, azuzuwan da aka hatimce suna ba da ƙarin hanyar bayyanawa don taƙaita amfani da babban aji fiye da samun dama ga masu gyara, bisa la'akari da lissafin ƙananan azuzuwan da aka ba da izinin tsawaita.

    kunshin com.example.geometry;

    Siffar ajin jama'a da aka rufe
    izini com.misali.polar.Circle,
    com.misali.quad.Rectangle,
    com.example.quad.simple.Square {…}

  • Kara goyan baya ga azuzuwan ɓoye waɗanda ba za a iya amfani da su kai tsaye ta bytecode na wasu azuzuwan ba. Muhimmin maƙasudin ɓoyayyun azuzuwan shine a yi amfani da shi a cikin ginshiƙai waɗanda ke haifar da azuzuwan gabaɗaya a lokacin aiki da amfani da su a kaikaice, ta hanyar. tunani. Irin waɗannan azuzuwan yawanci suna da iyakacin tsarin rayuwa, don haka kiyaye su don samun dama daga azuzuwan da aka ƙirƙira ba a inganta ba kuma zai haifar da ƙara yawan amfani da ƙwaƙwalwar ajiya kawai. Azuzuwan ɓoye kuma suna kawar da buƙatar API ɗin da ba daidai ba sun.misc.Unsafe:: ƙayyadeAnonymousClass, wanda aka tsara don cirewa nan gaba.
  • ZGC (Z Garbage Collector) mai tara shara an daidaita shi kuma an gane shi a shirye don amfani da yawa. ZGC yana aiki a cikin yanayin da ba a iya amfani da shi ba, yana rage jinkiri saboda tarin datti kamar yadda zai yiwu (lokacin tsayawa lokacin amfani da ZGC bai wuce 10 ms.) kuma yana iya aiki tare da ƙanana da manyan tsibi, kama daga girman megabytes ɗari zuwa yawancin terabytes.
  • An daidaita kuma an same shi a shirye don amfani gabaɗaya
    mai shara Shenandoah, Yin aiki tare da ɗan hutu kaɗan (Mai Tarar Datti-Lokacin Dakata). Shenandoah ya samo asali ne daga Red Hat kuma sananne ne don amfani da algorithm wanda ke rage lokacin tsayawa yayin tattara datti ta hanyar tafiyar da tsaftacewa a layi daya tare da aiwatar da aikace-aikacen Java. Girman jinkirin da mai tattara shara ya gabatar yana iya yiwuwa kuma baya dogara da girman tulin, watau. don tarin 200 MB da 200 GB jinkirin zai zama iri ɗaya (kar a fito fiye da 50 ms kuma yawanci a cikin 10 ms);

  • An daidaita tallafi kuma an gabatar da shi cikin harshe tubalan rubutu - wani sabon nau'i na kirtani na zahiri wanda ke ba ku damar haɗa bayanan rubutu na layi da yawa a cikin lambar tushe ba tare da yin amfani da tseren hali ba da adana tsarin rubutu na asali a cikin toshe. An tsara katangar ta hanyar zance guda uku.

    Misali, maimakon code

    String html = "" +
    "\n\t" + "" +
    "\n\t\t" + "\"Java 1 na nan!\" " +
    "\n\t" + " " +
    "\n" + "";

    za ku iya ƙayyade:

    html ruwa = """


    »Java 1\
    yana nan!”

    "";

  • An sake fasalin Legacy DatagramSocket API. Tsohon aiwatarwa na java.net.DatagramSocket da java.net.MulticastSocket an maye gurbinsu tare da aiwatarwa na zamani wanda ya fi sauƙi don gyarawa da kiyayewa, kuma yana dacewa da rafukan kama-da-wane da aka haɓaka a cikin aikin. Loom. Idan akwai yiwuwar rashin jituwa tare da lambar da ke akwai, ba a cire tsohuwar aiwatarwa ba kuma ana iya kunna ta ta amfani da zaɓi na jdk.net.usePlainDatagramSocketImpl.
  • An ƙaddamar da aiwatar da gwaji na biyu daidaitaccen tsari a cikin ma'aikacin "misali", wanda ke ba ku damar ayyana maɓalli na gida nan da nan don samun damar ƙimar da aka bincika. Misali, zaku iya rubuta "idan (obj misalin String s && s.length()> 5) {.. s.contains(..)

    Ya kasance:

    idan (abu misali na rukuni) {
    Rukuni = (Group) obj;
    var shigarwar = rukuni.getEntries ();
    }

    Yanzu zaku iya yin ba tare da ma'anar "Rukunin Rukunin = (Group) obj" ba:

    idan (obj misalin rukunin rukuni) {
    var shigarwar = rukuni.getEntries ();
    }

  • An gabatar aiwatar da gwaji na biyu na keyword "rikodin", wanda ke ba da ƙaƙƙarfan tsari don ayyana azuzuwan, yana ba ku damar guje wa fayyace ƙayyadaddun ƙananan matakai daban-daban kamar daidai (), hashCode () da toString () a cikin yanayin da aka adana bayanai kawai a cikin filayen da halayensu ba su canzawa. Lokacin da aji yayi amfani da daidaitattun aiwatarwa na daidaitattun (), hashCode() da hanyoyin toString(), yana iya yin ba tare da fayyace ma'anarsu ba:

    rikodin jama'a BankTransaction (LocalDate date,
    adadin biyu
    Bayanin zaren) {}

    Wannan sanarwar za ta ƙara aiwatarwa ta atomatik (), hashCode() da hanyoyin toString() ban da hanyoyin ginawa da hanyoyin samun.

  • Gabatarwa samfoti na biyu na API ɗin Ƙwaƙwalwar Ƙwaƙwalwar Waje, yana ba da damar aikace-aikacen Java don amintacce da ingantaccen isa ga yankunan ƙwaƙwalwar ajiya a waje da tudun Java ta hanyar sarrafa sabon MemorySegment, MemoryAddress, da MemoryLayout abstractions.
  • An kashe kuma ya ɓata dabarar inganta Maɓallin Biased da aka yi amfani da ita a cikin HotSpot JVM don rage kulle sama. Wannan dabarar ta rasa dacewarta akan tsarin tare da umarnin atomic wanda CPUs na zamani suka bayar, kuma yana da matuƙar wahala don kiyayewa saboda sarƙaƙƙiyar sa.
  • An sanar m inji Kunna RMI, wanda za a cire a cikin sakin gaba. An lura cewa Kunnawar RMI ya tsufa, an sake shi zuwa nau'in zaɓi a cikin Java 8 kuma kusan ba a taɓa yin amfani da shi ba a aikin zamani.
  • An share Injin JavaScript Nashorn, wanda aka soke a Java SE 11.
  • An cire tashoshin jiragen ruwa don Solaris OS da na'urori masu sarrafa SPARC (Solaris/SPARC, Solaris/x64 da Linux/SPARC). Cire waɗannan tashoshin jiragen ruwa zai ba da damar al'umma su hanzarta haɓaka sabbin fasahohin OpenJDK ba tare da ɓata lokaci ba don kiyaye takamaiman fasali na Solaris da SPARC.

source: budenet.ru

Add a comment