Rhyddhad Java SE 19

Ar Γ΄l chwe mis o ddatblygiad, mae Oracle wedi rhyddhau platfform Java SE 19 (Java Platform, Standard Edition 19), sy'n defnyddio prosiect ffynhonnell agored OpenJDK fel gweithrediad cyfeirio. Ac eithrio dileu rhai nodweddion anghymeradwy, mae Java SE 19 yn cynnal cydnawsedd yn Γ΄l Γ’ datganiadau blaenorol y platfform Java - bydd y rhan fwyaf o brosiectau Java a ysgrifennwyd yn flaenorol yn dal i weithio heb eu haddasu pan fyddant yn cael eu rhedeg o dan y fersiwn newydd. Mae adeiladau gosodadwy o Java SE 19 (JDK, JRE, a Server JRE) yn cael eu paratoi ar gyfer Linux (x86_64, AArch64), Windows (x86_64), a macOS (x86_64, AArch64). Wedi'i ddatblygu gan y prosiect OpenJDK, mae gweithrediad cyfeirio Java 19 yn ffynhonnell agored lawn o dan y drwydded GPLv2 gydag eithriadau GNU ClassPath i ganiatΓ‘u cysylltu deinamig Γ’ chynhyrchion masnachol.

Mae Java SE 19 wedi'i gategoreiddio fel datganiad cymorth rheolaidd, gyda diweddariadau i'w rhyddhau cyn y datganiad nesaf. Dylai'r gangen Cymorth Hirdymor (LTS) fod yn Java SE 17, a fydd yn derbyn diweddariadau tan 2029. Dwyn i gof bod y prosiect, gan ddechrau gyda rhyddhau Java 10, wedi newid i broses ddatblygu newydd, sy'n awgrymu cylch byrrach ar gyfer ffurfio datganiadau newydd. Mae swyddogaethau newydd bellach yn cael eu datblygu mewn un brif gangen sy'n cael ei diweddaru'n gyson, sy'n ymgorffori newidiadau sydd eisoes wedi'u cwblhau ac y caiff canghennau eu canghennu bob chwe mis ohoni i sefydlogi datganiadau newydd.

Mae nodweddion newydd yn Java 19 yn cynnwys:

  • Mae cefnogaeth ragarweiniol ar gyfer patrymau cofnod wedi'i gynnig, gan ymestyn y gallu paru patrwm Java 16 i ddosrannu gwerthoedd dosbarthiadau o gofnod math. Er enghraifft: cofnodwch Point(int x, int y) {} gwag printSum(Gwrthrych o) { os (o enghraifft o Pwynt(int x, int y)) { System.out.println(x+y); } }
  • Mae Linux builds yn darparu cefnogaeth ar gyfer pensaernΓ―aeth RISC-V.
  • Ychwanegwyd cefnogaeth ragarweiniol i'r API FFM (Swyddogaeth a Chof Tramor), sy'n eich galluogi i drefnu rhyngweithio rhaglenni Java Γ’ chod a data allanol trwy swyddogaethau galw o lyfrgelloedd allanol a chyrchu cof y tu allan i'r JVM.
  • Cefnogaeth ychwanegol ar gyfer edafedd rhithwir, sef edafedd ysgafn sy'n symleiddio ysgrifennu a chynnal cymwysiadau aml-edau perfformiad uchel yn fawr.
  • Cynigir pedwerydd gweithrediad rhagarweiniol yr API Vector, sy'n darparu swyddogaethau ar gyfer cyfrifiadau fector sy'n cael eu perfformio gan ddefnyddio cyfarwyddiadau fector y proseswyr x86_64 ac AArch64 ac sy'n eich galluogi i gymhwyso gweithrediadau i sawl gwerth ar yr un pryd (SIMD). Yn wahanol i'r galluoedd a ddarperir yn y casglwr HotSpot JIT ar gyfer awtofectoreiddio gweithrediadau sgalar, mae'r API newydd yn ei gwneud hi'n bosibl rheoli fectoreiddio yn benodol ar gyfer prosesu data cyfochrog.
  • Mae trydydd gweithrediad arbrofol o baru patrymau mewn mynegiadau switsh wedi'i ychwanegu, sy'n caniatΓ‘u defnyddio templedi hyblyg rhag ofn i labeli achos sy'n cwmpasu cyfres o werthoedd ar unwaith, y mae cadwyni feichus o os... datganiadau eraill wedi'u defnyddio o'r blaen ar eu cyfer. Gwrthrych o = 123L; String formatted = switsh (o) { achos Cyfanrif i -> String.format ("int %d", i); cas Hir l -> String.format ("hir %d", l); cas Dwbl d -> String.format("dwbl %f", d); case String s -> String.format("Llinyn %s", s); rhagosodedig -> o.toString(); };
  • Mae API Parallelism Strwythuredig arbrofol wedi'i ychwanegu sy'n ei gwneud hi'n haws datblygu cymwysiadau aml-edau trwy drin tasgau lluosog sy'n rhedeg ar wahanol edafedd fel un uned.

Ffynhonnell: opennet.ru

Ychwanegu sylw