Nakon šest mjeseci razvoja, Oracle je najavio izlazak Java SE 24, temeljen na OpenJDK projektu otvorenog koda, održavajući kompatibilnost sa prethodnim verzijama tako da će većina prethodno razvijenih projekata nastaviti raditi bez izmjena.
Za razliku od izdanja dugoročne podrške (LTS), Java SE 24 redovito je 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 bit će podržane do 2031., odnosno 2029. godine. Dodatno, proširena podrška za Java SE 8 LTS nastavit će se do 2030., dok će Java SE 11 ostati na snazi do 2032.
Poboljšanja i nove značajke
U ovoj novoj verziji Jave SE 24, jedan od najvažnija poboljšanja je uvođenje Eksperimentalni generativni način rada za skupljača smeća Shenandoah (dizajniran za odvojenu obradu novih i starih predmeta). Ovaj novi način rada poboljšava učinkovitost prilikom čišćenja 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 zaglavlja kompaktnih objekata u HotSpot JVM-u, smanjujući njegovu veličinu s 96 na 64 bita na 64-bitnim sustavima. Ova optimizacija pomaže smanjiti veličinu hrpe i poboljšati učinkovitost predmemorije memorije.
Sakupljač smeća G1 je također optimiziran redizajnom barijera koje nadziru pristup memoriji od strane aplikacija. Proširenje zapreke sada se izvodi kasnije u procesu kompilacije unutar C2 JIT kompajlera, smanjujući njegovo opterećenje do 20%, ovisno o vrsti aplikacije.
Poboljšanja sigurnosti i enkripcije
Java SE 24 predstavlja API za izvođenje kriptografskih ključeva (KDF), omogućujući generiranje dodatnih ključeva iz tajnog ključa i proizvoljnog skupa podataka. Ovaj API, još uvijek u fazi pregleda, jača sigurnost u upravljanju ključevima unutar platforme.
Osim toga, Dodana su upozorenja o korištenju API-ja Java izvorno sučelje i strane funkcije i memorija, u pripremi za buduću implementaciju načina integriteta, koji će ograničiti zadani pristup izvornom kodu. Upozorenja su također omogućena pri korištenju metoda pristupa vanjskoj memoriji putem klase sun.misc.Unsafe, preporučujući migraciju na VarHandle API.
S druge strane, u Javi SE 24 podrška za ML-KEM kriptografske algoritme i ML-DSA (dizajniran da bude otporan na napade kvantnim računalstvom). Ovi se algoritmi temelje na problemima teorije mreže, osiguravajući da su vremena rješenja ekvivalentna i na konvencionalnim i na kvantnim računalima.
Java Security Manager, koji je zastario nakon nestanka podrške za dodatke preglednika, trajno je uklonjen.
Optimizacije
JVM HotSpot sada omogućuje prethodno učitavanje i rano povezivanje razreda, što značajno ubrzava pokretanje aplikacije. Pri prvom pokretanju, stanje klasa se predmemorira kako bi se olakšalo učitavanje pri budućim pokretanjima.
također, Implementacija opsega vrijednosti je poboljšana, koji sada stromogućuje dijeljenje nepromjenjivih podataka između niti učinkovitije, zamjenjujući tradicionalni mehanizam varijabli lokalne niti. Ovo je posebno korisno kada se radi s milijunima virtualnih niti istovremeno.
Još jedna novost je optimizacija virtualnih niti u blokiranim stanjima. U ovom izdanju, blokirana virtualna nit oslobađa svoju platformsku nit, dopuštajući da je ponovno koriste druge niti, poboljšavajući skalabilnost na sustavima s visokom upotrebom višenitnosti.
Od druge promjene koje se ističu:
- Novo proširenje Stream API-ja, koje vam omogućuje definiranje prilagođenih posrednih operacija.
- Motori za usklađivanje uzoraka poboljšani su da podržavaju primitivne tipove (int, byte, char, itd.) u switch izrazima i instanceof operatoru.
- Dodana je četvrta pretpregledna verzija Structured Concurrency API-ja, koja pojednostavljuje razvoj višenitnih aplikacija tretirajući zadatke na različitim nitima kao jednu izvršnu jedinicu.
- Uveden je jednostavniji način za deklariranje klasa i definiranje metode main(), čime se eliminira potreba za definiranjem javne klase statičkim metodama.
- Dodan je API za klasnu datoteku, koji vam omogućuje jednostavnije i programski analiziranje, generiranje i transformiranje Java klasnih datoteka.
Konačno, ako ste zainteresirani da možete saznati više o tome, možete pogledati detalje u sljedeći link.
Preuzmite Java SE 24
Za one koji su zainteresirani za instaliranje nove verzije Jave SE 24, trebate znati da su kompilacije (JDK, JRE i Server JRE) već spremne za Linux, Windows i macOS.