Objavljena je Java SE 24. Saznajte više o njegovim novim funkcijama, poboljšanjima i još mnogo toga.

Java platforma, standardno izdanje

Nakon šest meseci razvoja, Oracle je najavio izdavanje Java SE 24, zasnovan na OpenJDK projektu otvorenog koda, održavajući kompatibilnost unazad tako da će većina prethodno razvijenih projekata nastaviti da radi bez modifikacija.

Za razliku od izdanja za dugoročnu podršku (LTS), Java SE 24 je redovno izdanje podrške, što podrazumijeva ažuriranja do sljedećeg izdanja. Za one koji traže dugoročnu stabilnost, Java SE 21 i Java SE 17 će i dalje biti podržane do 2031. odnosno 2029. godine. Osim toga, proširena podrška za Java SE 8 LTS nastavit će se do 2030. godine, dok će Java SE 11 ostati na snazi ​​do 2032. godine.

Poboljšanja i nove funkcije

U ovoj novoj verziji koja je predstavljena Java SE 24, jedna od najvažnija poboljšanja je uvod u Eksperimentalni generativni način rada za sakupljač smeća Shenandoah (dizajniran za odvojenu obradu novih i starih objekata). Ovaj novi način rada poboljšava efikasnost pri čišćenju kratkotrajnih objekata, optimizira korištenje memorije i nudi stabilnije performanse pod različitim opterećenjima.

Još jedna novost koja se ističe je Eksperimentalna podrška za kompaktna zaglavlja objekata u HotSpot JVM-u, smanjujući njegovu veličinu sa 96 na 64 bita na 64-bitnim sistemima. Ova optimizacija pomaže u smanjenju veličine hrpe i poboljšanju efikasnosti memorijske keš memorije.

Sakupljač smeća G1 je također optimiziran sa redizajniranjem barijera koje prate pristup memoriji aplikacija. Proširenje barijere se sada izvodi kasnije u procesu kompilacije unutar C2 JIT kompajlera, smanjujući njegove troškove do 20%, u zavisnosti od tipa aplikacije.

Poboljšanja sigurnosti i enkripcije

Java SE 24 uvodi API za izvođenje kriptografskih ključeva (KDF), omogućava generiranje dodatnih ključeva iz tajnog ključa i proizvoljnog skupa podataka. Ovaj API, koji je još u fazi pregleda, jača sigurnost u upravljanju ključevima unutar platforme.

Takođe, Dodana su upozorenja o korištenju API-ja Java izvorni interfejs i strane funkcije i memorija, u pripremi za buduću implementaciju režima integriteta, koji će ograničiti podrazumevani pristup izvornom kodu. Upozorenja su također omogućena kada se koriste metode pristupa eksternoj memoriji preko klase sun.misc.Unsafe, što preporučuje migraciju na VarHandle API.

S druge strane, u Java SE 24 podrška za ML-KEM kriptografske algoritme i ML-DSA (dizajniran da bude otporan na napade kvantnog računarstva). Ovi algoritmi su zasnovani na problemima teorije mreža, osiguravajući da vremena rješenja budu ekvivalentna i na konvencionalnim i na kvantnim računarima.

Java Security Manager, koji je bio zastareo od nestanka podrške dodataka pretraživača, trajno je uklonjen.

Optimizacije

JVM HotSpot sada omogućava prethodno učitavanje i rano povezivanje klasa, što značajno ubrzava pokretanje aplikacije. Prilikom prvog pokretanja, stanje klasa se kešira kako bi se olakšalo učitavanje pri budućim startovima.

Slično tome, Implementacija Scoped Values ​​je poboljšana, koji sada stromogućava dijeljenje nepromjenjivih podataka između niti efikasnije, zamjenjujući tradicionalni mehanizam varijabli lokalne niti. Ovo je posebno korisno kada radite sa milionima virtuelnih niti istovremeno.

Još jedna novost je optimizacija virtuelnih niti u blokiranim stanjima. U ovom izdanju, blokirana virtuelna nit oslobađa svoju platformsku nit, omogućavajući je da je ponovo koriste druge niti, poboljšavajući skalabilnost na sistemima sa visokom upotrebom više niti.

Of the druge promjene koje se ističu:

  • Novo proširenje za Stream API, koje vam omogućava da definirate prilagođene međuoperacije.
  • Mašine za usklađivanje uzoraka su poboljšane da podržavaju primitivne tipove (int, byte, char, itd.) u izrazima prekidača i instanceof operatoru.
  • Dodana je četvrta verzija za pretpregled Structured Concurrency API, koja pojednostavljuje razvoj višenitnih aplikacija tretirajući zadatke na različitim nitima kao jednu izvršnu jedinicu.
  • Uveden je jednostavniji način za deklarisanje klasa i definisanje metode main(), čime se eliminiše potreba za definisanjem javne klase sa statičkim metodama.
  • Dodan je API za fajlove klasa, koji vam omogućava da lakše i programski analizirate, generišete i transformišete Java fajlove klasa.

Konačno, ako ste zainteresovani da saznate više o tome, možete pogledati detalje u sljedeći link.

Preuzmite Java SE 24

Za one koji su zainteresovani za instalaciju nove verzije Java SE 24, trebali biste znati da su kompilacije (JDK, JRE i Server JRE) već spremne za Linux, Windows i macOS.