După șase luni de dezvoltare, Oracle a anunțat lansarea Java SE 24, bazat pe proiectul open source OpenJDK, menținând compatibilitatea cu versiunea inversă, astfel încât majoritatea proiectelor dezvoltate anterior vor continua să ruleze fără modificări.
Spre deosebire de versiunile de suport pe termen lung (LTS), Java SE 24 este o versiune de suport obișnuită, ceea ce implică actualizări până la următoarea ediție. Pentru cei care caută stabilitate pe termen lung, Java SE 21 și Java SE 17 vor continua să fie acceptate până în 2031, respectiv 2029. În plus, suportul extins pentru Java SE 8 LTS va continua până în 2030, în timp ce Java SE 11 va rămâne în vigoare până în 2032.
Îmbunătățiri și funcții noi
În această nouă versiune de Java SE 24, unul dintre cele mai importante îmbunătățiri este introducerea Un mod generativ experimental pentru colectorul de gunoi Shenandoah (conceput pentru a procesa separat obiectele noi și cele vechi). Acest nou mod îmbunătățește eficiența la curățarea obiectelor cu durată scurtă de viață, optimizează utilizarea memoriei și oferă performanțe mai stabile la sarcini diferite.
O altă noutate care iese în evidență este Suport experimental pentru anteturile obiectelor compacte din HotSpot JVM, reducându-și dimensiunea de la 96 la 64 de biți pe sistemele pe 64 de biți. Această optimizare ajută la reducerea dimensiunii heap-ului și la îmbunătățirea eficienței memoriei cache.
Colectorul de gunoi G1 a fost, de asemenea, optimizat cu o reproiectare a barierelor care monitorizează accesul la memorie de către aplicații. Extinderea barierei este acum realizată mai târziu în procesul de compilare în cadrul compilatorului C2 JIT, reducând supraîncărcarea cu până la 20%, în funcție de tipul de aplicație.
Îmbunătățiri de securitate și criptare
Java SE 24 introduce un API pentru derivarea cheilor criptografice (KDF), permițând generarea de chei suplimentare dintr-o cheie secretă și un set arbitrar de date. Acest API, încă în faza de previzualizare, întărește securitatea în managementul cheilor în cadrul platformei.
În plus, Au fost adăugate avertismente despre utilizarea API-urilor Interfață nativă Java și funcție străină și memorie, în pregătirea pentru implementarea viitoare a unui mod de integritate, care va restricționa accesul implicit la codul nativ. Avertismentele au fost, de asemenea, activate la utilizarea metodelor de acces la memorie externă prin clasa sun.misc.Unsafe, recomandând migrarea la API-ul VarHandle.
Pe de altă parte, în Java SE 24 suport pentru algoritmi criptografici ML-KEM și ML-DSA (conceput să fie rezistent la atacurile de calcul cuantic). Acești algoritmi se bazează pe probleme de teorie a rețelelor, asigurând că timpii de rezolvare sunt echivalenti atât pe computerele convenționale, cât și pe cele cuantice.
Managerul de securitate Java, care a fost depreciat de la dispariția suportului pentru pluginuri de browser, a fost eliminat definitiv.
Optimizări
JVM HotSpot permite acum preîncărcarea și conectarea devreme a claselor, ceea ce accelerează semnificativ pornirea aplicației. La prima rulare, starea claselor este memorată în cache pentru a facilita încărcarea la pornirile viitoare.
de asemenea Implementarea Valorilor Scoped a fost îmbunătățită, care acum ppermite partajarea datelor imuabile între fire mai eficient, înlocuind mecanismul tradițional de fir-variabilă locală. Acest lucru este benefic în special atunci când lucrați cu milioane de fire virtuale simultan.
O altă noutate este cea optimizarea firelor virtuale în stări blocate. În această ediție, un fir virtual blocat își eliberează firul platformei, permițându-i să fie reutilizat de alte fire, îmbunătățind scalabilitatea pe sistemele cu utilizare ridicată a multithreading-ului.
Dintre alte schimbări care se remarcă:
- Nouă extensie pentru Stream API, permițându-vă să definiți operațiuni intermediare personalizate.
- Motoarele de potrivire a modelelor au fost îmbunătățite pentru a suporta tipurile primitive (int, byte, char, etc.) în expresiile de comutare și operatorul instanceof.
- A fost adăugată o a patra versiune de previzualizare a API-ului Structured Concurrency, care simplifică dezvoltarea aplicațiilor cu mai multe fire prin tratarea sarcinilor pe diferite fire ca o singură unitate de execuție.
- A fost introdusă o modalitate mai simplă de a declara clase și de a defini metoda main(), eliminând necesitatea definirii unei clase publice cu metode statice.
- A fost adăugat un API pentru fișierele de clasă, permițându-vă să analizați, să generați și să transformați fișierele de clasă Java mai ușor și programatic.
În fine, dacă sunteți interesat să puteți afla mai multe despre acesta, puteți consulta detaliile în următorul link.
Descărcați Java SE 24
Pentru cei interesați să instaleze noua versiune de Java SE 24, trebuie să știți că compilațiile (JDK, JRE și Server JRE) sunt deja pregătite pentru Linux, Windows și macOS.