Java SE 20 útgáfa

Eftir sex mánaða þróunarferli hefur Oracle gefið út Java SE 20 kerfið (Java Platform, Standard Edition 20), sem notar opinn hugbúnað OpenJDK verkefnið sem viðmiðunarútfærslu. Fyrir utan að nokkrir úreltir eiginleikar hafa verið fjarlægðir, heldur Java SE 20 afturvirkri samhæfni við fyrri útgáfur af Java kerfinu — flestir Java verkefni sem áður hafa verið skrifuð munu keyra óbreyttir þegar þeir keyra undir nýju útgáfunni. Tilbúnar útgáfur af Java SE 20 (JDK, JRE og Server JRE) eru undirbúnar fyrir... Linux (x86_64, AArch64), Windows (x86_64) og macOS (x86_64, AArch64). Java 20 tilvísunarútfærslan, sem var þróuð af OpenJDK verkefninu, er að fullu opinn hugbúnaður undir GPLv2 leyfinu með GNU ClassPath undantekningu, sem gerir kleift að tengja við viðskiptavörur á breytilegan hátt.

Java SE 20 er flokkað sem venjuleg stuðningsútgáfa, með uppfærslum sem gefnar eru út fram að næstu útgáfu. Langtíma stuðningsgreinin (LTS) ætti að vera Java SE 17, sem mun fá uppfærslur til ársins 2029. Til áminningar, frá og með útgáfu Java 10, færðist verkefnið yfir í nýtt þróunarferli sem felur í sér styttri útgáfuhringrás. Ný virkni er nú þróuð í einni, stöðugt uppfærðri aðalgrein, sem inniheldur lokið breytingar, og þaðan eru greinar greindar á sex mánaða fresti til að stöðuga nýjar útgáfur.

Nýir eiginleikar í Java 20 eru:

  • Bráðabirgðastuðningur fyrir Scoped Values ​​er lagður til, sem gerir kleift að deila óbreytanlegum gögnum milli þráða og skiptast á gögnum á milli undirþráða á skilvirkan hátt (gildi erfast). Scoped Values ​​eru ætluð til að koma í staðinn fyrir þráðbundin breytukerfi og eru skilvirkari þegar mjög margir sýndarþræðir eru notaðir (þúsundir og milljónir þráða). Helsti munurinn á Scoped Values ​​og þráðbundnum breytum er að þær fyrri eru skrifaðar einu sinni, ekki er hægt að breyta þeim síðar og eru aðeins tiltækar meðan þráðurinn er keyrður. class Server { final static ScopedValue CURRENT_USER = new ScopedValue(); void serve(Request request, Response response) { var level = (request.isAuthorized()? ADMIN : GUEST); var user = new User(level); ScopedValue.where(CURRENT_USER, user) .run(() -> Application.handle(request, response)); } } class DatabaseManager { DBConnection open() { var user = Server.CURRENT_USER.get(); ef (!user.canOpen()) kastar nýrri ÓgildriUserException(); skilar nýrri DBConnection(...); } }
  • Önnur bráðabirgðaútfærsla á færslumynstrum hefur verið bætt við, sem útvíkkar mynstursamsvörunareiginleikann sem kynntur var í Java 16 til að greina gildi færsluklasa. Til dæmis: record Point(int x, int y) {} static void printSum(Object obj) { if (obj instanceof Point p) { int x = px(); int y = py(); System.out.println(x+y); } }
  • Fjórða forsýningarútfærsla á mynstursamsvörun í rofafyrirmælum hefur verið bætt við, sem gerir tilviksmerkjum kleift að nota sveigjanleg mynstur sem spanna röð af gildum frekar en nákvæm gildi, sem áður krafðist fyrirferðarmikilla keðja af if-else setningum. 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("double %f", d); case String s -> String.format("String %s", s); default -> o.toString(); }; }
  • Önnur bráðabirgðaútfærsla á FFM (Foreign Function & Memory) API hefur verið bætt við, sem gerir Java forritum kleift að hafa samskipti við utanaðkomandi kóða og gögn með því að kalla á föll úr utanaðkomandi bókasöfnum og fá aðgang að minni utan JVM.
  • Önnur bráðabirgðaútfærsla á sýndarþráðum hefur verið bætt við, sem eru léttvægir þræðir sem einfalda mjög ritun og viðhald á afkastamiklum fjölþráða forritum.
  • Önnur útgáfa af tilraunakennda API-inu fyrir skipulagða samsíða virkni hefur verið bætt við, sem einfaldar þróun fjölþráða forrita með því að meðhöndla mörg verkefni sem keyra á mismunandi þráðum sem eina einingu.
  • Fimmta bráðabirgðaútfærsla af Vector API hefur verið bætt við. Þetta API býður upp á aðgerðir fyrir vigurútreikninga sem framkvæmdir eru með x86_64 og AArch64 örgjörva vigurleiðbeiningum og gerir kleift að framkvæma samtímis aðgerðir á mörgum gildum (SIMD). Ólíkt sjálfvirkri vigurvæðingu HotSpot JIT þýðandans á skalaraðgerðum, gerir nýja API-ið kleift að stjórna vigurvæðingu fyrir samsíða gagnavinnslu.

Heimild: opennet.ru

Kauptu áreiðanlega hýsingu fyrir síður með DDoS vernd, VPS VDS netþjónum 🔥 Kauptu áreiðanlega vefhýsingu með DDoS vörn, VPS VDS netþjónum | ProHoster