Java SE 20 e lokolloa

Kamora likhoeli tse ts'eletseng tsa nts'etsopele, Oracle e ile ea lokolla Java SE 20 (Java Platform, Standard Edition 20), e sebelisang projeke ea OpenJDK e bulehileng e le ts'ebetso ea litšupiso. Ntle le ho tlosoa ha likarolo tse ling tse sa sebetseng, Java SE 20 e boloka ho lumellana le morao-rao le likhatiso tse fetileng tsa sethala sa Java - merero ea Java e ngotsoeng pele e tla sebetsa ntle le liphetoho ha e tsamaisoa tlas'a mofuta o mocha. Mehaho e ikemiselitseng ho kenya Java SE 20 (JDK, JRE le Server JRE) e lokiselitsoe Linux (x86_64, AArch64), Windows (x86_64) le macOS (x86_64, AArch64). E ntlafalitsoe ke projeke ea OpenJDK, ts'ebetsong ea litšupiso tsa Java 20 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 20 e khetholloa e le tokollo ea kamehla ea tšehetso '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 17, e tla tsoelapele ho fumana lintlafatso ho fihlela 2029. 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.

Likarolo tse ncha ho Java 20 li kenyelletsa:

  • Ho na le ts'ehetso ea mantlha bakeng sa Scoped Values, e lumellang data e sa fetoheng hore e arolelanoe likhoele le data e fapanyetsanoang hantle lipakeng tsa likhoele tsa bana (litekanyetso li futsitsoe). Li-Scoped Values ​​li ntse li ntlafatsoa ho nkela sebaka sa likhoele tse feto-fetohang 'me li sebetsa hantle haholo ha ho sebelisoa likhoele tse ngata haholo (tse likete kapa limilione tsa likhoele). Phapang e kholo lipakeng tsa Scoped Values ​​le mefuta e fapaneng ea sebaka sa khoele ke hore ea pele e ngotsoe hang, e ke ke ea fetoloa nakong e tlang, 'me e lula e fumaneha feela nakong ea ts'ebetso ea khoele. Sehlopha sa Seva {final static ScopedValue CURRENT_USER = ScopedValue e ncha(); void service(Kopo ea Kopo, Karabelo ea Karabelo) {var level = (kopo. E Authorized()? ADMIN : GUEST); var user = mosebelisi e mocha(boemo); ScopedValue.kae(CURRENT_USER, mosebedisi).run(() -> Application.tšoara(kopo, karabo)); } } sehlopha sa DatabaseManager {DBConnection bula() { var user = Server.CURRENT_USER.get(); haeba (!user.canOpen()) lahlela InvalidUserException(); khutlisetsa DBConnection e ncha(...); }}
  • Ho kenyelitsoe ponelo-pele ea bobeli ea lipaterone tsa rekoto, e holisa tšobotsi e bapisang mohlala e hlahisitsoeng ho Java 16 ho lekola boleng ba litlelase tsa rekoto. Ka mohlala: rekota Ntlha (int x, int y) {} static void printSum (Object obj) {haeba (obj exampleof Point p) { int x = px (); int y = py(); System.out.println(x+y); }}
  • Ts'ebetsong ea bone ea selelekela sa mokhoa oa ho tsamaisana le polelo ea "switch" e kenyellelitsoe, e lumellang li-labels tsa "nyee" hore li se ke tsa sebelisa boleng bo nepahetseng, empa lipaterone tse feto-fetohang tse koahelang letoto la litekanyetso ka nako e le 'ngoe, tseo pele ho neng ho hlokahala hore li sebelisoe. diketane tsa dipolelo tsa “haeba ... ho seng jwalo”. static String formatterPatternSwitch(Object obj) { return switch (obj) { case Integer i -> String.format("int %d", i); case Long l -> String.format("long%d", l); case Double d -> String.format("habeli %f", d); case String s -> String.format("String %s", s); kamehla -> o.toString(); }; }
  • Ts'ebetsong ea bobeli ea pele ea FFM (Foreign Function & Memory) API e kenyelitsoe, e leng se u lumellang hore u hlophise ho sebelisana ha mananeo a Java ka khoutu ea ka ntle le data ka ho letsetsa mesebetsi ho tloha lilaebraring tsa ka ntle le ho fumana mohopolo ka ntle ho JVM.
  • Ho kentsoe ponelo-pele ea bobeli ea likhoele tse bonoang, e leng likhoele tse bobebe tse nolofatsang haholo ho ngola le ho boloka ts'ebetso e phahameng ea likhoele tse ngata.
  • E kentse teko ea bobeli ea API bakeng sa parallelism e hlophisitsoeng, e nolofatsang nts'etsopele ea lits'ebetso tse nang le likhoele tse ngata ka ho sebetsana le mesebetsi e mengata e sebetsang ka likhoele tse fapaneng joalo ka boloko bo le bong.
  • Ho kenyellelitsoe ponelopele ea bohlano ea Vector API, e fanang ka mesebetsi bakeng sa lipalo tsa vector tse etsoang ho sebelisoa litaelo tsa vector ho li-processor tsa x86_64 le AArch64 mme e lumella ts'ebetso hore e sebelisoe ka nako e le 'ngoe ho boleng bo bongata (SIMD). Ho fapana le bokhoni bo fanoeng ho HotSpot JIT compiler bakeng sa auto-vectorization ea scalar operations, API e ncha e etsa hore ho khonehe ho laola vectorization ka ho hlaka bakeng sa ts'ebetso ea data e tšoanang.

Source: opennet.ru

Eketsa ka tlhaloso