Pambuyo pa miyezi isanu ndi umodzi yokonza, Oracle yatulutsa Java SE 26 (Java Platform, Standard Edition 26), yomwe imagwiritsa ntchito pulojekiti ya OpenJDK yotseguka ngati njira yogwiritsira ntchito. Kupatula kuchotsa zinthu zina zomwe sizinagwiritsidwe ntchito, Java SE 26 imasunga kuyanjana kwachikale ndi zomwe zidatulutsidwa kale pa nsanja ya Java—mapulojekiti ambiri a Java omwe adalembedwa kale sadzagwira ntchito mosintha akagwiritsidwa ntchito pansi pa mtundu watsopano. Zomangamanga zokonzeka kukhazikitsidwa za Java SE 26 (JDK, JRE, ndi Server JRE) zakonzedwa kuti zigwiritsidwe ntchito. Linux (x86_64, AArch64), Windows (x86_64) ndi macOS (x86_64, AArch64). Yopangidwa ndi pulojekiti ya OpenJDK, kukhazikitsa kwa Java SE 26 ndi kotseguka kwathunthu pansi pa layisensi ya GPLv2 yokhala ndi GNU ClassPath Exception, yomwe imalola kulumikizana kwamphamvu ndi zinthu zamalonda.
Java SE 26 ili m'gulu la mapulogalamu othandizira nthawi zonse, pomwe zosintha zimatulutsidwa mpaka kutulutsidwa kwina. Nthambi yothandizira nthawi yayitali (LTS) iyenera kukhala Java SE 25, Java SE 21, kapena Java SE 17, pomwe zosintha zimatulutsidwa mpaka 2033, 2031, ndi 2029, motsatana (nthawi zambiri zimapezeka mpaka Seputembala 2030, 2028, ndi 2026). Chithandizo chowonjezera cha nthambi ya Java SE 8 LTS chidzapitirira mpaka 2030, ndipo cha Java SE 11, mpaka 2032.
Zosintha mu Java SE 26 (1, 2, 3, 4) zikuphatikizapo:
- Chenjezo laperekedwa pogwiritsa ntchito kusinkhasinkha kwakukulu kuti musinthe minda yolembedwa ndi mawu ofunikira "omaliza". Mapulani amtsogolo akuphatikizapo kuletsa mawonekedwe osatetezeka a chilankhulo mwachisawawa, komanso, pakati pa zinthu zina, kupanga minda yolembedwa ngati yomaliza yosasinthika konse, kuchotsa njira yothetsera kusintha kudzera mu kusinkhasinkha kwakukulu (Reflection API).
- Applet API (java.applet.Applet*, javax.swing.JAapplet), yomwe imagwiritsidwa ntchito kuyendetsa mapulogalamu a Java mu msakatuli, yachotsedwa. API iyi inatha ntchito pambuyo poti pulogalamu yowonjezera ya msakatuli wa Java yasiya kugwira ntchito ndipo inachotsedwa mu 2021.
- Kutha kugwiritsa ntchito cache ya pasadakhale (AOT) ndi chosonkhanitsa zinyalala chilichonse, kuphatikiza ZGC (Z Garbage Collector), kwachitika. Kusinthaku kumathandizira kuyika zinthu za Java zomwe zasungidwa mu memory pogwiritsa ntchito mtundu wadziko lonse, wosadalira chosonkhanitsa zinyalala m'malo molemba mwachindunji mawonekedwe enieni a cache mu memory. Kugwiritsa ntchito cache ya AOT kumachepetsa nthawi yoyambira ndikufulumizitsa kutenthetsa kwa makina enieni a HotSpot.
- HTTP Client API yasinthidwa kuti ithandizire protocol ya HTTP/3, zomwe zimalola mapulogalamu ndi malaibulale kupeza ma seva kudzera pa HTTP/3 popanda kusintha kwambiri ma code.
- Kugwira bwino ntchito kwa chosonkhanitsira zinyalala cha G1 mwa kuchepetsa maloko ofunikira kuti agwirizanitse ulusi wogwiritsidwa ntchito ndi ulusi wosonkhanitsira zinyalala.
- Cholembedwa chachiwiri cha API cholembera ndi kutanthauzira zinthu ndi makiyi a cryptographic, ma certificate, ndi mndandanda wochotsera ma certificate pogwiritsa ntchito mawonekedwe a PEM (Pivacy-Enhanced Mail) chikuperekedwa.
- Cholembedwa chachisanu ndi chimodzi cha Structured Concurrency API, chomwe chimapangitsa kuti ntchito zambiri zikhale zosavuta pochita ntchito zingapo zomwe zikuyenda pamizere yosiyanasiyana ngati gawo limodzi, chatulutsidwa kuti chiyesedwe.
- Chiwonetsero chachiwiri cha Lazy Constants API chawonjezedwa kuti chigwiritsidwe ntchito ndi zinthu zomwe zili ndi deta yosasinthika ndipo chimaonedwa ngati zosasinthika mu JVM. Kukonza magwiridwe antchito ofanana ndi minda yokhala ndi mawu ofunikira "omaliza" amagwiritsidwa ntchito pazinthu zotere. Mosiyana ndi "zomaliza," API yatsopanoyi imalekanitsa kupangidwa kwa mitengo yokhazikika kuchokera ku kuyambika kwawo, imatsimikizira kuti mtengo ukhoza kuyambitsidwa kamodzi kokha, imachepetsa nthawi yoyambira pulogalamu, ndipo imalola kukonza kosalekeza, komwe kale kumagwiritsidwa ntchito mu JDK-internal code, kuti kugwiritsidwe ntchito mu user code. class Application { // Poyamba: // static final UserService USERS = new UserService(); // Now: static final StableValue OGWIRITSA NTCHITO = StableValue.of(); ogwiritsa ntchito a UserService osasinthika () { bwezerani USERS.orElseSet(UserService::yatsopano); } }
- Injini yofananiza ma pattern imayambitsa draft yachinayi ya luso logwiritsa ntchito mitundu yoyambirira (int, byte, char, ndi mitundu ina yosakhala ya chinthu) mumitundu yonse ya template, instanceof operator, ndi switch blocks. switch (x.getStatus()) { case 0 -> "okay"; case 1 -> "chenjezo"; case 2 -> "error"; case int i -> "unknown status: " + i; } if (i instanceof byte b) { … b … }
- Kuyesedwa kwa Vector API kwa khumi ndi chimodzi kwaperekedwa. Kumapereka ntchito zowerengera ma vector zomwe zimachitika pogwiritsa ntchito malangizo a x86_64 ndi AArch64 processor vector ndipo kumalola kugwira ntchito nthawi imodzi pa ma values ambiri (SIMD). Mosiyana ndi HotSpot JIT compiler's auto-vectorization of scalar operations, API yatsopanoyo imalola kuwongolera momveka bwino pa vectorization ya data yofananira.
Oracle yalengezanso Project Detroit, yomwe idzapangidwa ngati gawo la OpenJDK ndipo cholinga chake ndi kukonza kusunthika pakati pa Java, JavaScript, ndi Python. Cholinga cha polojekitiyi ndikuthandizira kuphatikiza injini ya V8 JavaScript ndi womasulira wa CPython mu njira ya JVM. Oracle idapanga kale injini ya Nashorn JavaScript, yomwe imayenda pamwamba pa JVM, koma idasiya ntchitoyi chifukwa cha zovuta zopanga kukhazikitsa JavaScript yosiyana pamene chilengedwe chachikulu chikugwirizana ndi injini ya V8.
Kuphatikiza apo, tikusangalala kulengeza kutulutsidwa kwa zosintha pa nsanja ya JavaFX 26 popanga mapulogalamu ogwiritsira ntchito zithunzi. Kutulutsidwa kwa makina owonera a GraalVM 26, omwe amathandizira kugwiritsa ntchito mapulogalamu mu JavaScript (Node.js), Python, Ruby, R, chilankhulo chilichonse cha JVM (Java, Scala, Clojure, Kotlin), ndi zilankhulo zomwe LLVM bitcode ingapangidwire (C, C++, Rust), kukuyembekezekanso m'maola akubwerawa.
Source: opennet.ru
