Java SE 21 ya fue liberado y estas son sus novedades
Oracle dio a conocer hace poco el lanzamiento de la nueva versión de Java SE 21, la cual está clasificada como una versión de soporte extendido, con actualizaciones disponibles hasta 2031 y que ademas marca el soporte público para la rama LTS de Java SE 11, pero que tendra un soporte extendido hasta el 2032.
En esta nueva versión que se presenta de Java 21, podremos encontrar que se ha implementado una versión generativa de ZGC, que introduce el procesamiento separado de objetos, lo que aumenta la eficiencia de la limpieza de objetos creados recientemente con una vida corta.
Otro de los cambios que se destaca de esta nueva versión, es que se ha estabilizado la implementación de los patrones de registros, ampliando la función de coincidencia de patrones introducida en Java 16 con herramientas para analizar valores de clases de tipos de registros, ademas de que también se ha estabilizado la compatibilidad con la coincidencia de patrones en expresiones «switch», que permite que las etiquetas «case» no utilicen valores exactos, sino patrones flexibles que cubran una serie de valores a la vez.
Ademas de ello, también podremos encontrar que se agregó soporte preliminar para Scoped Values, que permite compartir datos inmutables entre subprocesos e intercambiar datos de manera eficiente entre subprocesos secundarios. La principal diferencia entre los valores de alcance y las variables locales del subproceso es que las primeras se escriben una vez, no se pueden cambiar en el futuro y permanecen disponibles solo mientras dure la ejecución del subproceso.
En Java SE 21 también se destaca el soporte preliminar para plantillas de cadenas, las cuales permiten combinar texto con expresiones y variables calculadas sin utilizar el operador «+». La sustitución de expresiones se realiza mediante sustituciones \{..} y se pueden conectar controladores especiales para comprobar la exactitud de los valores sustituidos.
Por otra parte, en Java SE 21 se ha propuesto una tercera implementación preliminar de la API FFM, que permite organizar la interacción de programas Java con código y datos externos llamando a funciones desde bibliotecas externas y accediendo a la memoria fuera de la JVM.
Hablando de implementaciones en Java SE 21, también se destaca la sexta vista previa de la API Vector, que proporciona funciones para cálculos vectoriales que se realizan empleando instrucciones vectoriales en procesadores x86_64 y AArch64 y permiten aplicar operaciones simultáneamente a múltiples valores (SIMD). A diferencia de las capacidades proporcionadas en el compilador HotSpot JIT para la vectorización automática de operaciones escalares, la nueva API permite controlar explícitamente la vectorización para el procesamiento de datos paralelo.
De los demás cambios que se destacan:
- Se agregó una API experimental para concurrencia estructurada, que simplifica el desarrollo de aplicaciones multiproceso al tratar múltiples tareas que se ejecutan en diferentes subprocesos como un solo bloque.
- Se ha estabilizado la implementación de subprocesos virtuales, que son subprocesos livianos que simplifican enormemente la escritura y el mantenimiento de aplicaciones multiproceso de alto rendimiento.
- Se han agregado nuevos métodos.
- Se agregó soporte para colecciones ordenadas (SequencedCollection).
- Se agregaron métodos para definir propiedades de emoji.
- Se agregó soporte preliminar para clases sin nombre e instancias sin nombre del método «main», en el que puede prescindir de declaraciones públicas/estáticas, pasando una serie de argumentos y otras entidades asociadas con una declaración de clase.
- Se agregó una API para usar mecanismos de encapsulación de claves de cifrado KEM, diseñada para proteger claves de cifrado simétricas mediante algoritmos basados en claves públicas.
- Se agregó soporte para el algoritmo de firma digital HSS/LMS.
Se ha interrumpido el soporte para la plataforma Windows de 32 bits.
Además, se puede destacar la publicación de una actualización de la plataforma para la creación de aplicaciones con interfaz gráfica JavaFX 21.
Finalmente si estás interesado en poder conocer más al respecto, puedes consultar los detalles en el siguiente enlace.
Obtener Java SE 21
Para los interesados en poder obtener una de las compilaciones listas para instalar de Java SE 21 que están preparadas para Linux, Windows y macOS, pueden hacerlo desde el sitio web del proyecto en su sección de descargas. El enlace es este.