Java SE 24 ja va ser alliberat, coneix les seves novetats, millores i més

Plataforma Java, edició estàndard

Després de sis mesos de desenvolupament, Oracle ha anunciat el llançament de Java SE 24, basat en el projecte de codi obert OpenJDK, mantenint la compatibilitat amb versions anteriors amb la finalitat que la majoria dels projectes desenvolupats prèviament continuaran executant-se sense modificacions.

A diferència de les versions de suport a llarg termini (LTS), Java SE 24 és una versió de suport regular, cosa que implica actualitzacions fins al proper llançament. Per a aquells que busquen estabilitat a llarg termini, Java SE 21 i Java SE 17 seguiran rebent suport fins al 2031 i 2029, respectivament. A més, el suport estès de Java SE 8 LTS continuarà fins al 2030, mentre que Java SE 11 es mantindrà vigent fins al 2032.

Millores i novetats

En aquesta nova versió que es presenta de Java SE 24, una de les millores més importants és la introducció de una manera generativa experimental per al recol·lector d'escombraries Shenandoah (dissenyat per processar per separat els objectes nous i els antics). Aquest nou mode millora l'eficiència en la neteja d'objectes de vida útil curta, optimitza el consum de memòria i ofereix un rendiment més estable sota càrregues variables.

Una altra de les novetats que es destaca, és el suport experimental per a encapçalats d'objectes compactes a la JVM HotSpot, reduint la seva mida de 96 a 64 bits en sistemes de 64 bits. Aquesta optimització contribueix a disminuir la mida del munt i millorar l'eficiència de la memòria cau de memòria.

El recol·lector d'escombraries G1 també ha estat optimitzat amb un redisseny de les barreres que monitoregen l'accés a la memòria per part de les aplicacions. Ara, l'expansió de barreres es realitza en una fase posterior de la compilació dins del compilador C2 JIT, reduint la seva sobrecàrrega fins a un 20%, depenent del tipus d'aplicació.

Millores en seguretat i xifratge

Java SE 24 introdueix una API per la derivació de claus criptogràfiques (KDF), permetent la generació de claus addicionals a partir duna clau secreta i un conjunt arbitrari de dades. Aquesta API, encara en fase de vista prèvia, reforça la seguretat de la gestió de claus dins de la plataforma.

A més, s'han afegit advertiments sobre l'ús de les API Java Native Interface i Foreign Function & Memory, en preparació per a la implementació futura d'una manera d'integritat, que restringirà l'accés predeterminat al codi nadiu. També s'han habilitat advertiments en utilitzar mètodes d'accés a memòria externa mitjançant la classe sun.misc.Unsafe, recomanant la migració cap a l'API VarHandle.

D'altra banda, a Java SE 24 s'ha afegit el suport per als algorismes criptogràfics ML-KEM i ML-DSA (dissenyats per ser resistents a atacs de computació quàntica). Aquests algorismes es basen en problemes de teoria de xarxes, assegurant que el temps de solució sigui equivalent tant en ordinadors convencionals com en quàntiques.

S'ha eliminat de manera definitiva l'Administrador de Seguretat de Java, l'ús del qual havia quedat obsolet des de la desaparició del suport per a complements als navegadors.

Optimitzacions

JVM HotSpot ara permet precarregar i vincular classes de manera anticipada, el que accelera notablement linici de les aplicacions. A la primera execució, l'estat de les classes s'emmagatzema en memòria cau per facilitar-ne la càrrega en futures arrencades.

Així mateix, s'ha millorat la implementació de Scoped Values, que ara permit compartir dades immutables entre fils de manera més eficient, reemplaçant el mecanisme tradicional de variables locals de fil. Això és especialment beneficiós quan es treballa amb milions de fils virtuals simultàniament.

Una altra novetat és la optimització de fils virtuals en estats bloquejats. En aquesta versió, un fil virtual bloquejat allibera el seu subprocés de plataforma, permetent la seva reutilització per altres fils, cosa que millora l'escalabilitat en sistemes amb alt ús de fils múltiples.

Dels altres canvis que es destaquen:

  • Nova extensió a l'API Stream, permetent definir operacions intermèdies personalitzades.
  • Els motors de coincidència de patrons han estat millorats per suportar tipus primitius (int, byte, char, etc.) en expressions switch i en l'operador instanceof.
  • S'ha afegit una quarta versió preliminar de l'API de concurrència estructurada, que simplifica el desenvolupament d'aplicacions multiprocés, tractant tasques en diferents fils com a única unitat d'execució.
  • S'ha introduït una forma més senzilla per a la declaració de classes i la definició del mètode main(), eliminant la necessitat de definir una classe pública amb mètodes estàtics.
  • S'ha afegit una API de fitxers de classe, que permet analitzar, generar i transformar fitxers de classe Java de manera més senzilla i programàtica

Finalment si estàs interessat a poder conèixer més sobre això, pots consultar els detalls al següent enllaç.

Descarregar Java SE 24

Per als interessats en instal·lar la nova versió de Java SE 24, han de saber que les compilacions (JDK, JRE i Server JRE) ja estan llestes per Linux, Windows i macOS.