„Java SE 24“ buvo išleistas. Sužinokite apie naujas jo funkcijas, patobulinimus ir dar daugiau.

Java platforma, standartinis leidimas

Po šešių mėnesių plėtros „Oracle“ paskelbė apie „Java SE 24“ išleidimą, pagrįsta atvirojo kodo OpenJDK projektu, išlaikant atgalinį suderinamumą, kad dauguma anksčiau sukurtų projektų ir toliau būtų vykdomi be pakeitimų.

Skirtingai nuo ilgalaikio palaikymo (LTS) leidimų, „Java SE 24“ yra įprastas palaikymo leidimas, tai reiškia atnaujinimus iki kito leidimo. Tiems, kurie ieško ilgalaikio stabilumo, Java SE 21 ir Java SE 17 bus palaikomi atitinkamai iki 2031 ir 2029 m. Be to, išplėstinis Java SE 8 LTS palaikymas tęsis iki 2030 m., o Java SE 11 – iki 2032 m.

Patobulinimai ir naujos funkcijos

Šioje naujoje „Java SE 24“ versijoje yra vienas iš svarbiausi patobulinimai yra įvadas Eksperimentinis generacinis režimas Shenandoah šiukšlių surinkėjui (skirta apdoroti naujus ir senus objektus atskirai). Šis naujas režimas pagerina efektyvumą valant trumpalaikius objektus, optimizuoja atminties naudojimą ir užtikrina stabilesnį veikimą esant įvairioms apkrovoms.

Kita išskirtinė naujovė yra Eksperimentinis palaikymas kompaktiškoms objektų antraštėms HotSpot JVM, sumažinant jo dydį nuo 96 iki 64 bitų 64 bitų sistemose. Šis optimizavimas padeda sumažinti krūvos dydį ir pagerinti atminties talpyklos efektyvumą.

Šiukšlių surinkėjas G1 taip pat buvo optimizuotas perprojektuojant kliūčių, kurios stebi programų prieigą prie atminties. Dabar barjero išplėtimas atliekamas vėliau kompiliavimo procese naudojant C2 JIT kompiliatorių, sumažinant jo pridėtines išlaidas iki 20%, priklausomai nuo programos tipo.

Saugumo ir šifravimo patobulinimai

„Java SE 24“ pristato API, skirtą kriptografinių raktų išvedimas (KDF), leidžianti generuoti papildomus raktus iš slaptojo rakto ir savavališko duomenų rinkinio. Ši API, kuri vis dar yra peržiūros fazėje, sustiprina raktų valdymo platformoje saugumą.

Be to, Pridėta įspėjimų apie API naudojimą „Java“ vietinė sąsaja ir užsienio funkcija bei atmintis, ruošiantis ateityje įdiegti vientisumo režimą, kuris apribos numatytąją prieigą prie vietinio kodo. Įspėjimai taip pat buvo įjungti, kai naudojami išorinės atminties prieigos metodai per sun.misc.Unsafe klasę, rekomenduojant pereiti prie VarHandle API.

Kita vertus, Java SE 24 ML-KEM kriptografinių algoritmų palaikymas ir ML-DSA (sukurta taip atsparus kvantinių skaičiavimų atakoms). Šie algoritmai yra pagrįsti tinklo teorijos problemomis, užtikrinant, kad sprendimo laikas būtų vienodas tiek įprastuose, tiek kvantiniuose kompiuteriuose.

„Java“ saugos tvarkyklė, kuri buvo nebenaudojama, kai dingo naršyklės papildinių palaikymas, buvo visam laikui pašalinta.

Optimizavimas

JVM HotSpot dabar leidžia iš anksto įkelti ir susieti klases iš anksto, kuris žymiai pagreitina programos paleidimą. Pirmojo paleidimo metu klasių būsena išsaugoma talpykloje, kad būtų lengviau įkelti būsimus startus.

taip pat Buvo patobulintas taikomų vertybių įgyvendinimas, kuri dabar pleidžia dalytis nekintamais duomenimis tarp gijų efektyviau, pakeičiant tradicinį sriegio vietinį kintamąjį mechanizmą. Tai ypač naudinga dirbant su milijonais virtualių gijų vienu metu.

Kita naujovė yra užblokuotų būsenų virtualių gijų optimizavimas. Šiame leidime užblokuota virtualioji gija išleidžia savo platformos giją, leidžiančią ją pakartotinai naudoti kitose gijose, o tai pagerina mastelio keitimą sistemose, kuriose naudojamas daug kelių gijų.

kiti išsiskiriantys pokyčiai:

  • Naujas Stream API plėtinys, leidžiantis apibrėžti pasirinktines tarpines operacijas.
  • Šablonų atitikimo varikliai buvo patobulinti, kad palaikytų primityvius tipus (int, baitą, char ir tt) jungiklio išraiškose ir operatorių egzemplioriuje.
  • Pridėta ketvirtoji peržiūros struktūrinio lygiagretumo API versija, kuri supaprastina kelių gijų taikomųjų programų kūrimą, nes skirtingose ​​gijose atliekamos užduotys laikomos vienu vykdymo vienetu.
  • Buvo pristatytas paprastesnis būdas deklaruoti klases ir apibrėžti main() metodą, todėl nebereikia apibrėžti viešosios klasės statiniais metodais.
  • Pridėta klasės failo API, leidžianti lengviau ir programiškai analizuoti, generuoti ir transformuoti Java klasės failus.

Galiausiai, jei jus domina galimybė apie tai sužinoti daugiau, išsamią informaciją galite rasti sekanti nuoroda.

Atsisiųskite Java SE 24

Tiems, kurie domisi naujos Java SE 24 versijos įdiegimu, turėtumėte žinoti, kad kompiliacijos (JDK, JRE ir Server JRE) jau paruoštos. Linux, Windows ir macOS.