Java 19 añade soporte de RISC-V en Linux y mejora la interacción con el sistema
Oracle ha publicado hoy JDK 19, que dependiendo del prisma por el que se mire puede ser entendido como OpenJDK 19 o Java 19. Recordamos que OpenJDK es la base de la implementación comercial de Java desde la versión 7, así que las dos grandes vertientes de la tecnología están conectadas desde hace muchos años.
Para empezar, es importante tener en cuenta que JDK 19 no es un lanzamiento LTS, condición que en estos momentos ostenta la versión 17 como la última de ese tipo. La siguiente LTS será JDK 21, cuya publicación está programada para septiembre de 2023 si a Oracle no se le tuercen los planes, cosa que parece muy poco probable viendo que va como un martillo pilón a la hora de publicar versiones cada seis meses.
En cuanto a las novedades de JDK 19, para empezar tenemos el soporte para Linux sobre procesadores RISC-V. Por otro lado, en fase previa ha llegado la API de Memoria y Funciones Foráneas, que mediante la invocación de funciones foráneas puede hacer que los programas escritos en Java llamen a bibliotecas y datos de procesos nativos.
También en fase previa están los procesos virtuales, que, como bien indica su nombre, introducen procesos virtuales en la plataforma de Java que son más livianos al reducir el esfuerzo al escribir y mantener aplicaciones concurrentes de alto rendimiento. La API de vectores, que se encuentra en cuarta fase incubación, se encarga de expresar cálculos vectoriales que se compilan en tiempo de ejecución para obtener instrucciones vectoriales optimizadas para la arquitectura del procesador utilizado.
La coincidencia de patrones de la sentencia switch
está en la tercera fase previa y pretende extender sus posibilidades para permitir que una expresión pueda ser comprobada con una gran cantidad de patrones, cada uno con una acción específica, para que las consultas complejas orientadas a datos se puedan expresar de manera concisa y segura.
Más allá de las Propuestas de Mejora del JDK (JEP), en JDK 19 se han introducido otras nuevas características que consisten en esquemas de firma (D)TLS, nuevas propiedades de sistema para System.out
y System.err
, soporte de Unicode 14, soporte de enlace de canal HTTPS para Java GSS/Kerberos, formatos de tiempo y fecha adicionales y soporte para la protección de PAC-RET en Linux sobre la arquitectura ARM de 64-bit.
Todos los detalles sobre Java 19 pueden ser consultados a través de las notas de lanzamiento disponibles en la web de OpenJDK y en la entrada publicada en el blog oficial de Java. La versión software libre del JDK puede ser obtenida desde el sitio web de Java (alternativamente y extraoficialmente desde Adoptium) y la comercial desde la web de Oracle. Recomendamos recurrir a OpenJDK en caso de tener dudas sobre las restricciones de la versión comercial, ya que Oracle asustó a muchos al cambiar la licencia en 2018, a pesar de ser un movimiento con un impacto real reducido.
Para terminar, merece la pena mencionar el gráfico que hemos puesto en medio, en el que se puede ver a las partes que más errores del JDK han corregido desde las versión 11 hasta la 19. En primer lugar y marcando claramente las distancias frente al resto tenemos a Oracle, propietaria de la tecnología, a la que le siguen Red Hat, SAP, los desarrolladores independientes, Google y Tencent.
La entrada Java 19 añade soporte de RISC-V en Linux y mejora la interacción con el sistema es original de MuyLinux