Po šestih mesecih razvoja Oracle je napovedal izdajo Java SE 24, ki temelji na odprtokodnem projektu OpenJDK, ohranja združljivost za nazaj, tako da bo večina predhodno razvitih projektov še naprej delovala brez sprememb.
Za razliko od izdaj dolgoročne podpore (LTS), Java SE 24 je izdaja redne podpore, kar pomeni posodobitve do naslednje izdaje. Za tiste, ki iščejo dolgoročno stabilnost, bosta Java SE 21 in Java SE 17 še naprej podprti do leta 2031 oziroma 2029. Poleg tega se bo razširjena podpora za Java SE 8 LTS nadaljevala do leta 2030, medtem ko bo Java SE 11 ostala v veljavi do leta 2032.
Izboljšave in nove funkcije
V tej novi različici, ki je predstavljena za Java SE 24, je eden od najpomembnejše izboljšave je uvedba Eksperimentalni generativni način za zbiralnik smeti Shenandoah (zasnovan za ločeno obdelavo novih in starih predmetov). Ta novi način izboljšuje učinkovitost pri čiščenju kratkotrajnih predmetov, optimizira uporabo pomnilnika in ponuja stabilnejšo zmogljivost pri različnih obremenitvah.
Druga novost, ki izstopa, je Eksperimentalna podpora za glave kompaktnih objektov v HotSpot JVM, zmanjša njegovo velikost s 96 na 64 bitov v 64-bitnih sistemih. Ta optimizacija pomaga zmanjšati velikost kopice in izboljšati učinkovitost pomnilniškega predpomnilnika.
Zbiralnik smeti G1 je bil prav tako optimiziran s prenovo ovir, ki nadzirajo dostop aplikacij do pomnilnika. Razširitev ovire se zdaj izvaja pozneje v procesu prevajanja v prevajalniku C2 JIT, kar zmanjša njegove režijske stroške za do 20 %, odvisno od vrste aplikacije.
Izboljšave varnosti in šifriranja
Java SE 24 uvaja API za izpeljava kriptografskih ključev (KDF), omogoča generiranje dodatnih ključev iz skrivnega ključa in poljubnega nabora podatkov. Ta API, ki je še v fazi predogleda, krepi varnost pri upravljanju ključev znotraj platforme.
Poleg tega, Dodana so opozorila o uporabi API-jev Izvorni vmesnik Java ter tuja funkcija in pomnilnik, v pripravah na prihodnjo implementacijo načina celovitosti, ki bo omejil privzeti dostop do izvorne kode. Omogočena so bila tudi opozorila pri uporabi metod za dostop do zunanjega pomnilnika prek razreda sun.misc.Unsafe, ki priporoča selitev na API VarHandle.
Po drugi strani pa v Javi SE 24 podpora za kriptografske algoritme ML-KEM in ML-DSA (zasnovan tako, da je odporen na napade s kvantnim računalništvom). Ti algoritmi temeljijo na problemih teorije omrežij in zagotavljajo, da so časi rešitve enaki na običajnih in kvantnih računalnikih.
Upravitelj varnosti Java, ki je bil opuščen od izginotja podpore za vtičnik brskalnika, je bil trajno odstranjen.
optimizacije
JVM HotSpot zdaj omogoča prednalaganje in zgodnje povezovanje razredov, ki občutno pospeši zagon aplikacije. Ob prvem zagonu se stanje razredov shrani v predpomnilnik, da se olajša nalaganje ob prihodnjih zagonih.
Tudi, Implementacija obseganih vrednosti je bila izboljšana, ki zdaj pomogoča skupno rabo nespremenljivih podatkov med nitmi učinkoviteje, nadomešča tradicionalni mehanizem spremenljivk v lokalni niti. To je še posebej koristno pri delu z milijoni navideznih niti hkrati.
Druga novost je optimizacija virtualnih niti v blokiranih stanjih. V tej izdaji blokirana navidezna nit sprosti svojo nit platforme, kar omogoča, da jo ponovno uporabijo druge niti, kar izboljša razširljivost v sistemih z visoko uporabo večnitnosti.
Od druge spremembe, ki izstopajo:
- Nova razširitev API-ja Stream, ki vam omogoča definiranje vmesnih operacij po meri.
- Motorji za ujemanje vzorcev so bili izboljšani tako, da podpirajo primitivne tipe (int, byte, char itd.) v izrazih switch in operatorju instanceof.
- Dodana je bila četrta predogledna različica Structured Concurrency API, ki poenostavlja razvoj večnitnih aplikacij tako, da naloge v različnih nitih obravnava kot eno samo izvršilno enoto.
- Uveden je bil preprostejši način za deklariranje razredov in definiranje metode main(), s čimer je odpravljena potreba po definiranju javnega razreda s statičnimi metodami.
- Dodan je bil API za datoteko razreda, ki vam omogoča lažje in programsko razčlenjevanje, ustvarjanje in preoblikovanje datotek razreda Java.
Končno, če vas zanima več o tem, si lahko ogledate podrobnosti v naslednja povezava.
Prenesite Java SE 24
Za tiste, ki jih zanima namestitev nove različice Jave SE 24, morate vedeti, da so kompilacije (JDK, JRE in strežnik JRE) že pripravljene za Linux, Windows in macOS.