I muri i ngā marama e ono o te whanaketanga, kua tukuna e Oracle te Java SE 26 (Java Platform, Standard Edition 26), e whakamahi ana i te kaupapa OpenJDK pūtake tuwhera hei whakatinanatanga tohutoro. Haunga te tango i ētahi āhuatanga kua kore e whakamahia, ka mau tonu te hototahi whakamuri o Java SE 26 ki ngā putanga o mua o te tūāpapa Java—ko te nuinga o ngā kaupapa Java kua tuhia i mua ka rere tonu ina whakahaerehia i raro i te putanga hou. Kua rite ngā hanganga kua rite ki te tāuta o Java SE 26 (JDK, JRE, me te Server JRE) mō Linux (x86_64, AArch64), Windows (x86_64) me macOS (x86_64, AArch64). I whakawhanakehia e te kaupapa OpenJDK, ko te whakatinanatanga tohutoro Java SE 26 he pūtake tuwhera katoa i raro i te raihana GPLv2 me te GNU ClassPath Exception, e āhei ai te hononga hihiri ki ngā hua arumoni.
Kua whakarōpūtia te Java SE 26 hei putanga tautoko auau, me te tukunga o ngā whakahōutanga tae noa ki te putanga e whai ake nei. Ko te peka tautoko roa (LTS) me Java SE 25, Java SE 21, Java SE 17 rānei, me te tukunga o ngā whakahōutanga tae noa ki te tau 2033, 2031, me te 2029 (e wātea ana tae noa ki te marama o Hepetema 2030, 2028, me te 2026). Ka haere tonu te tautoko roa mō te peka Java SE 8 LTS tae noa ki te tau 2030, ā, mō te Java SE 11, tae noa ki te tau 2032.
Ko ngā panonitanga i roto i te Java SE 26 (1, 2, 3, 4) ko:
- Kua whakatinanahia he whakatūpato ina whakamahia te whakaaroaro hohonu hei whakarerekē i ngā āpure kua tohua ki te kupumatua "whakamutunga". Ko ngā mahere ā muri ake nei ko te whakakore i ngā āhuatanga reo mōrearea i te taunoa, me te hanga i ngā āpure kua tohua hei whakamutunga kia kore e taea te whakarerekē, me te tango i te huarahi mahi hei whakarerekē i a rātou mā te whakaaroaro hohonu (te Reflection API).
- Kua tangohia te Applet API (java.applet.Applet*, javax.swing.JApplet), e whakamahia ana hei whakahaere i ngā taupānga Java i roto i te pūtirotiro. I tawhito tēnei API i muri i te whakamutua o te monomai pūtirotiro Java, ā, i mutu i te tau 2021.
- Kua whakatinanahia te āheinga ki te whakamahi i tētahi keteroki i mua i te wā (AOT) me tētahi kaikohi para, tae atu ki te ZGC (Z Garbage Collector). Ka tautokohia e tēnei huringa te utaina raupapa o ngā mea Java kua keterokihia ki roto i te mahara mā te whakamahi i tētahi hōputu whānui, kāore e hiahiatia ana e te kaikohi para, kaua ki te mahere tika i ngā whakaaturanga keteroki motuhake ki roto i te mahara. Mā te whakamahi i tētahi keteroki AOT ka whakaitihia te wā tīmatanga, ā, ka tere ake te whakamahana i te mīhini mariko HotSpot.
- Kua whakahoutia te HTTP Client API hei tautoko i te kawa HTTP/3, e āhei ai ngā taupānga me ngā whare pukapuka ki te uru atu ki ngā tūmau mā te HTTP/3 me te iti noa o ngā huringa waehere.
- Kua whakapaitia te mahi a te kaikohi para G1 mā te whakaiti i ngā raka e hiahiatia ana hei tukutahi i ngā miro tono me ngā miro kaikohi para.
- Kua whakaarohia tētahi tauira tuarua o te API mō te whakawaehere me te wetewete i ngā mea me ngā kī whakamuna, ngā tiwhikete, me ngā rārangi whakakore tiwhikete mā te whakamahi i te hōputu PEM (Pivacy-Enhanced Mail).
- Kua tukuna te ono o ngā tauira o te Structured Concurrency API, e whakangāwari ana i te whakawhanaketanga o ngā tono miro-maha mā te whakahaere i ngā mahi maha e rere ana i runga i ngā miro rerekē hei wae kotahi, hei whakamātautau.
- Kua tāpirihia te arokite tuarua o te Lazy Constants API mō te mahi me ngā mea kei roto ngā raraunga kore e taea te whakarerekē, ā, ka whakamahia hei pūmau i roto i te JVM. Ka whakamahia ngā arotautanga mahi rite ki ngā āpure me te kupumatua "whakamutunga" ki aua mea. Kāore i rite ki te "whakamutunga," ka wehea e te API hou te hanganga o ngā uara pūmau mai i tō rātou tīmatanga, ka whakamanahia ka taea te tīmata i tētahi uara kotahi anake, ka whakaiti i te wā tīmatanga o te kaupapa, ā, ka taea te whakamahi i ngā arotautanga takai-pūmau, i whakamahia i mua i roto i te waehere ā-roto JDK anake, i roto i te waehere kaiwhakamahi. akomanga Taupānga { // I mua: // tūmau ... NGĀ KAIWHAKAMAHI = UaraPai.o(); tūmatanui tūmau tūmau kaiwhakamahi Ratonga Kaiwhakamahi() { whakahokia NGĀ KAIWHAKAMAHI.orElseSet(RatongaKaiwhakamahi::hou); } }
- Ka whakaurua e te miihini taurite tauira te tauira tuawhā o te kaha ki te whakamahi i ngā momo taketake (int, byte, char, me ētahi atu momo turanga kore-ahanoa) i roto i ngā momo tauira katoa, te kaiwhakahaere instanceof, me ngā poraka whakawhiti. switch (x.getStatus()) { case 0 -> "okay"; case 1 -> "warning"; case 2 -> "error"; case int i -> "unknown status: " + i; } if (i instanceof byte b) { … b … }
- Ko te tekau mā tahi o ngā whakamātautau whakatinanatanga o te Vector API e whakaarohia ana. Ka whakaratohia he mahi mō ngā tataunga vector e mahia ana mā te whakamahi i ngā tohutohu vector tukatuka x86_64 me AArch64, ā, ka taea te mahi tahi i runga i ngā uara maha (SIMD). Kāore i rite ki te whaka-aunoa-vectoring o ngā mahi tauine a te kaiwhakakotahi HotSpot JIT, ka taea e te API hou te whakahaere mārama i te whaka-vectoring mō te tukatuka raraunga whakarara.
I panuitia hoki e Oracle te Kaupapa Detroit, ka whakawhanakehia hei wāhanga o OpenJDK, ā, ko te whāinga he whakapai ake i te kawe i waenga i a Java, JavaScript, me Python. Ko te whāinga o te kaupapa he whakahohe i te whakaurunga o te miihini JavaScript V8 me te kaiwhakamāori CPython ki roto i te tukanga JVM. I mua ake nei, i whakawhanakehia e Oracle te miihini JavaScript Nashorn, e rere ana i runga i te JVM, engari i whakamutua te kaupapa nā te uaua o te whakawhanake i tētahi whakatinanatanga JavaScript motuhake ina herea te pūnaha matua ki te miihini V8.
Hei tāpiritanga, e harikoa ana mātou ki te whakapuaki i te tukunga o tētahi whakahoutanga ki te tūāpapa JavaFX 26 mō te hanga tono atanga kaiwhakamahi whakairoiro. E tumanakohia ana hoki te tukunga o te mīhini mariko whānui a GraalVM 26, e tautoko ana i te whakahaere tono i roto i te JavaScript (Node.js), Python, Ruby, R, tetahi reo JVM (Java, Scala, Clojure, Kotlin), me ngā reo ka taea te whakaputa i te waehere LLVM (C, C++, Rust), i roto i ngā haora e haere ake nei.
Source: opennet.ru
