Java SE 14 e lokolloa

Kamora likhoeli tse tšeletseng tsa nts'etsopele, Oracle lokollotsoe sethala Java SE14 (Java Platform, Khatiso e Tloaelehileng ea 14), morero o bulehileng oa OpenJDK o sebelisoa e le ts'ebetsong ea litšupiso. Java SE 14 e boloka tšebelisano ea morao-rao le likhatiso tse fetileng tsa sethala sa Java; merero eohle e neng e ngotsoe pele ea Java e tla sebetsa ntle le liphetoho ha e qala tlasa mofuta o mocha. E ikemiselitse ho kenya Java SE 14 builds (JDK, JRE le Server JRE) lokisitsoe bakeng sa Linux (x86_64), Windows le macOS. Ts'ebetsong ea litšupiso e ntlafalitsoeng ke projeke ea OpenJDK Java 14 ke mohloli o bulehileng ka botlalo tlasa laesense ea GPLv2, ntle le mekhelo ea GNU ClassPath e lumellang khokahano e matla le lihlahisoa tsa khoebo.

Java SE 14 e thathamisitsoe e le tokollo ea tšehetso e akaretsang 'me e tla tsoelapele ho fumana lintlafatso ho fihlela tokollo e latelang. Lekala la Tšehetso ea Nako e Telele (LTS) e lokela ho ba Java SE 11, e tla tsoelapele ho fumana lintlafatso ho fihlela 2026. Lekala la pele la LTS la Java 8 le tla tšehetsoa ho fihlela ka December 2020. Tokollo e latelang ea LTS e reriloe ka Loetse 2021. A re u hopotse hore ho qala ka tokollo ea Java 10, morero o fetohetse ts'ebetsong e ncha ea nts'etsopele, e bolelang potoloho e khuts'oane ea ho theoa ha likhatiso tse ncha. Ts'ebetso e ncha e se e ntlafalitsoe lekaleng le le leng le lecha le ntlafalitsoeng khafetsa, le kenyelletsang liphetoho tse seng li entsoe le moo makala a hlophisoang ka mor'a likhoeli tse ling le tse ling tse tšeletseng ho tsitsisa likhatiso tse ncha.

Из boiqapelo Java 14 ka letšoao:

  • E kentse tšehetso ea liteko ho tsamaisana le mohlala ho "instanceof" operator, e leng se u lumellang hore u hlalose hang-hang phetoho ea sebakeng seo ho fihlella boleng bo hlahlobiloeng. Ka mohlala, u ka ngola hang-hang "haeba (obj exampleof String s && s.length() > 5) {.. s.contains(..) ..}" ntle le ho hlalosa ka ho hlaka "String s = (String) obj".

    E ne e le:

    haeba (obj mohlala oa Sehlopha) {
    Sehlopha sa sehlopha = (Sehlopha)obj;
    var entries = sehlopha.getEntries();
    }

    Joale u ka etsa ntle le tlhaloso "Sehlopha sa Sehlopha = (Sehlopha) obj":

    haeba (obj mohlala oa sehlopha sa Sehlopha) {
    var entries = sehlopha.getEntries();
    }

  • E kentse tšehetso ea liteko bakeng sa lentsoe le lecha la sehlooho "rekoto", e fanang ka foromo e kopanetsoeng bakeng sa ho hlalosa lihlopha, e u lumellang ho qoba ho hlalosa ka ho hlaka mekhoa e fapaneng ea boemo bo tlaase e kang ho lekana (), hashCode () le toString () maemong ao data e bolokiloeng feela libakeng tseo boitšoaro ba tsona bo sa fetoheng. Ha sehlopha se sebelisa mekhoa e tloaelehileng ea mekhoa e lekanang (), hashCode() le toString(), e ka etsa ntle le tlhaloso ea bona e hlakileng:

    rekoto ea sechaba BankTransaction (Letsatsi la LocalDate,
    palo e habeli
    Tlhaloso ea likhoele) {}

    Phatlalatso ena e tla eketsa ts'ebetsong ea mekhoa e lekanang (), hashCode () le toString() ho phaella ho mekhoa ea sehahi le ea getter.

  • E tloaelehileng 'me tšehetso ea mofuta o mocha oa poleloana ea "switch" e etsoa ka mokhoa o ikhethileng, e sa hlokeng ho hlakisa "break" opareitara, e o lumella ho kopanya li-labels tse pheta-phetoang mme e ka sebelisoa eseng feela ka sebopeho sa opareitara, empa hape le joalo ka poleloana.

    var log = switjha (ketsahalo) {
    case PLAY -> "Mosebelisi o kentse konopo ea ho bapala";
    case STOP, PAUSE -> "Mosebelisi o hloka khefu";
    kamehla -> {
    Molaetsa oa khoele = event.toString();
    LocalDateTime hona joale = LocalDateTime.now();
    hlahisa "ketsahalo e sa tsejoeng" + molaetsa +
    » kena ka » + hona joale;
    }
    };

  • Ts'ehetso ea liteko e atolositsoeng diboloko tsa mongolo - mofuta o mocha oa likhoele tse u lumellang hore u kenye lintlha tsa mongolo oa mela e mengata ka har'a khoutu ea mohloli ntle le ho sebelisa sebopeho se phonyohang le ho boloka fomete ea mongolo oa mantlha ka har'a block. Boloko bo entsoe ka mantsoe a mararo a mabeli. Ho Java 14, li-block blocks joale li tšehetsa tatellano ea ho phonyoha "\s" ho hlalosa sebaka se le seng le "\" ho kopana le mola o latelang (ho iphapanyetsa mela e mecha ha u hloka ho hatisa mohala o molelele haholo). Ka mohlala, sebakeng sa khoutu

    String html = " » +
    "\n\t" + " » +
    "\n\t\t" + " \"Java 1 e teng!\" » +
    "\n\t" + " » +
    "\n" + " ";

    o ka hlalosa:

    String html = """


    »Java 1\
    ke mona!

    """;

  • Litaba tsa tlhahlobo ea mafu ha mekhelo e hlaha li atolositsoe NullPointerException. Le hoja pele molaetsa oa phoso o ne o bua ka nomoro ea mohala feela, joale o hlalosa hore na ke mokhoa ofe o bakileng mokhelo. Litlhahlobo tse tsoetseng pele ha joale li ntse li sebelisoa feela ha li qala ka "-XX:+ShowCodeDetailsInExceptionMessages" folakha. Ka mohlala, ha u totobatsa folakha ena, mokhelo moleng

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

    e tla fella ka molaetsa

    Mokhelo ho khoele "main" java.lang.NullPointerException: Ha e khone ho kopa "Location.getCity()"
    hobane boleng ba ho khutla ba "User.getLocation()" ha bo na thuso
    ho NullPointerExample.main(NullPointerExample.java:5):5)

    e hlakisang hore mokhoa oa Location.getCity() ha oa ka oa bitsoa mme User.getLocation() e khutlisitsoe e le lefela.

  • E kentswe tshebetsong Ponahalo ea ts'ebeliso ea jpackage, e u lumellang hore u thehe liphutheloana tsa lits'ebetso tsa Java tse ikemetseng. Ts'ebeliso e ipapisitse le javapackager e tsoang ho JavaFX mme e u lumella ho etsa liphutheloana ka liforomo tse tsoang liforomong tse fapaneng (msi le exe bakeng sa Windows, pkg le dmg bakeng sa macOS, deb le rpm bakeng sa Linux). Liphutheloana li kenyelletsa litšepiso tsohle tse hlokahalang.
  • Ho 'mokelli oa lithōle oa G1 eketsa mochine o mocha oa kabo ea mohopolo o nahanelang lintlha tse tobileng tsa ho sebetsa lits'ebetsong tse kholo tse sebelisang moaho IN. Mofani oa memori o mocha o nolofalitsoe ho sebelisa folakha ea "+XX:+UseNUMA" 'me e ka ntlafatsa haholo ts'ebetso ho litsamaiso tsa NUMA.
  • E kentsoe API bakeng sa ho beha leihlo liketsahalo tsa JFR (JDK Flight Recorder), mohlala bakeng sa ho hlophisa tlhahlobo e tsoelang pele.
  • E kentsoe jdk.nio.mapmode module, e fanang ka mekhoa e mecha (READ_ONLY_SYNC, WRITE_ONLY_SYNC) bakeng sa ho theha li-buffer tsa 'mapa (MappedByteBuffer) tse lebisang mohopolong o sa fetoheng (NVM).
  • E kentswe tshebetsong Ponahalo ea API ea Foreign-Memory Access API, e lumellang lits'ebetso tsa Java ho fihlella libaka tsa memori ka mokhoa o sireletsehileng le ka nepo kantle ho qubu ea Java ka ho qhekella likhechana tse ncha tsa MemorySegment, MemoryAddress le MemoryLayout.
  • Tsebisitsoe likou tse theohileng bakeng sa li-processor tsa Solaris OS le SPARC (Solaris/SPARC, Solaris/x64 le Linux/SPARC) ka sepheo sa ho tlosa likou tsena nakong e tlang. Ho nyenyefatsa likou tsena ho tla lumella sechaba ho potlakisa nts'etsopele ea likarolo tse ncha tsa OpenJDK ntle le ho senya nako ho boloka likarolo tse ikhethileng tsa Solaris- le SPARC.
  • E hlakotsoe CMS (Concurrent Mark Sweep) e bokellang lithōle, e ileng ea tšoauoa e se e sa sebetse lilemong tse peli tse fetileng 'me ea lula e sa hlokomeloe (CMS e ile ea nkeloa sebaka khale ke moqolli oa lithōle oa G1). Ho feta moo, tsebisitsoe e hanne tšebeliso ea motsoako oa mekhoa ea ho bokella lithōle ea ParallelScavenge le SerialOld (tsamaisa ka likhetho tsa “-XX:+UseParallelGC -XX:-UseParallelOldGC”).
  • Tšehetso ea liteko bakeng sa 'mokelli oa lithōle oa ZGC (Z Garbage Collector) e fanoe ka li-platform tsa macOS le Windows (tseo pele li neng li sebelisoa Linux feela). ZGC e sebetsa ka mokhoa oa ho etsa lintho, e fokotsa ho lieha ho tsamaea ka lebaka la ho bokella lithōle ka hohle kamoo ho ka khonehang (nako ea ho boloka ha u sebelisa ZGC ha e fete 10 ms.) 'me e ka sebetsa ka liqubu tse nyenyane le tse kholo, ho tloha ka boholo ba megabyte tse makholo a' maloa ho ea ho li-terabyte tse ngata.
  • E tlositsoe Toolkit le API bakeng sa ho hatella lifaele tsa JAR ho sebelisa algorithm ea Pack200.

Source: opennet.ru

Eketsa ka tlhaloso