Java SE 24 ya fue liberado, conoce sus novedades, mejoras y mas
Después de seis meses de desarrollo, Oracle ha anunciado el lanzamiento de Java SE 24, basado en el proyecto de código abierto OpenJDK, manteniendo la compatibilidad con versiones anteriores con la finalidad de que la mayoría de los proyectos desarrollados previamente seguirán ejecutándose sin modificaciones.
A diferencia de las versiones de soporte a largo plazo (LTS), Java SE 24 es una versión de soporte regular, lo que implica actualizaciones hasta el próximo lanzamiento. Para aquellos que buscan estabilidad a largo plazo, Java SE 21 y Java SE 17 seguirán recibiendo soporte hasta 2031 y 2029, respectivamente. Además, el soporte extendido de Java SE 8 LTS continuará hasta 2030, mientras que Java SE 11 se mantendrá vigente hasta 2032.
Mejoras y novedades
En esta nueva versión que se presenta de Java SE 24, una de las mejoras más importantes es la introducción de un modo generativo experimental para el recolector de basura Shenandoah (diseñado para procesar por separado los objetos nuevos y los antiguos). Este nuevo modo mejora la eficiencia en la limpieza de objetos de corta vida útil, optimiza el consumo de memoria y ofrece un rendimiento más estable bajo cargas variables.
Otra de las novedades que se destaca, es el soporte experimental para encabezados de objetos compactos en la JVM HotSpot, reduciendo su tamaño de 96 a 64 bits en sistemas de 64 bits. Esta optimización contribuye a disminuir el tamaño del montón y mejorar la eficiencia del caché de memoria.
El recolector de basura G1 también ha sido optimizado con un rediseño de las barreras que monitorean el acceso a la memoria por parte de las aplicaciones. Ahora, la expansión de barreras se realiza en una fase posterior de la compilación dentro del compilador C2 JIT, reduciendo su sobrecarga hasta en un 20%, dependiendo del tipo de aplicación.
Mejoras en seguridad y cifrado
Java SE 24 introduce una API para la derivación de claves criptográficas (KDF), permitiendo la generación de claves adicionales a partir de una clave secreta y un conjunto arbitrario de datos. Esta API, aún en fase de vista previa, refuerza la seguridad en la gestión de claves dentro de la plataforma.
Además, se han agregado advertencias sobre el uso de las API Java Native Interface y Foreign Function & Memory, en preparación para la futura implementación de un modo de integridad, que restringirá el acceso predeterminado al código nativo. También se han habilitado advertencias al utilizar métodos de acceso a memoria externa mediante la clase sun.misc.Unsafe, recomendando la migración hacia la API VarHandle.
Por otra parte, en Java SE 24 se ha añadido el soporte para los algoritmos criptográficos ML-KEM y ML-DSA (diseñados para ser resistentes a ataques de computación cuántica). Estos algoritmos se basan en problemas de teoría de redes, asegurando que el tiempo de solución sea equivalente tanto en computadoras convencionales como en cuánticas.
Se ha eliminado de manera definitiva el Administrador de Seguridad de Java, cuyo uso había quedado obsoleto desde la desaparición del soporte para complementos en navegadores.
Optimizaciones
JVM HotSpot ahora permite precargar y vincular clases de manera anticipada, lo que acelera notablemente el inicio de las aplicaciones. En la primera ejecución, el estado de las clases se almacena en caché para facilitar su carga en futuros arranques.
Asimismo, se ha mejorado la implementación de Scoped Values, que ahora permite compartir datos inmutables entre hilos de manera más eficiente, reemplazando el mecanismo tradicional de variables locales de hilo. Esto resulta especialmente beneficioso cuando se trabaja con millones de hilos virtuales simultáneamente.
Otra novedad es la optimización de hilos virtuales en estados bloqueados. En esta versión, un hilo virtual bloqueado libera su subproceso de plataforma, permitiendo su reutilización por otros hilos, lo que mejora la escalabilidad en sistemas con alto uso de hilos múltiples.
De los demás cambios que se destacan:
- Nueva extensión en la API Stream, permitiendo definir operaciones intermedias personalizadas.
- Los motores de coincidencia de patrones han sido mejorados para soportar tipos primitivos (int, byte, char, etc.) en expresiones switch y en el operador instanceof.
- Se ha agregado una cuarta versión preliminar de la API de concurrencia estructurada, que simplifica el desarrollo de aplicaciones multiproceso, tratando tareas en diferentes hilos como una única unidad de ejecución.
- Se ha introducido una forma más sencilla para la declaración de clases y la definición del método main(), eliminando la necesidad de definir una clase pública con métodos estáticos.
- Se ha agregado una API de archivos de clase, que permite analizar, generar y transformar archivos de clase Java de manera más sencilla y programática
Finalmente si estás interesado en poder conocer más al respecto, puedes consultar los detalles en el siguiente enlace.
Descargar Java SE 24
Para los interesados en instalar la nueva versión de Java SE 24, deben saber que las compilaciones (JDK, JRE y Server JRE) ya están listas para Linux, Windows y macOS.