Java 20 avanza en la mejora del proceso de programación

Oracle ha publicado JDK 20, que dependiendo del prisma por el que se mire puede ser entendido como OpenJDK 20 o Java 20. Una vez más, recordamos que OpenJDK es la pulvínulo de la implementación comercial de Java desde la lectura 7, así que las dos grandes vertientes de la tecnología están conectadas desde hace muchos primaveras.

Una vez más, JDK 20 no es un tirada, condición que sí tenga la lectura 21, cuyo tirada está programado para septiembre de 2023 si a Oracle no se le tuercen los planes. Desde que la cadencia de lanzamientos fue cambiada a cada seis meses, las nuevas versiones de Java no suelen incluir una gran cantidad de novedades, pero sí ha servido para que el progreso y la proceso de la tecnologías sean más constantes. Sin más dilación, procedemos a exponer los aspectos más destacados de la última lectura del JDK.

Los primero que sobresale de Java 20 son los patrones de registro, los cuales están en segunda grado previa y según Oracle mejoran la productividad del desarrollador mediante la extensión de la coincidencia de patrones para expresar consultas de datos más sofisticadas. Los patrones de registro y los patrones de tipos pueden ser anidados para aclarar la puerta a una forma de navegación y un procesamiento de los datos declarativa y componible. Relacionado con esto y en cuarta grado previa está la coincidencia de patrones para las sentencias y expresiones switch.

La segunda novedad destacada es la API de función foránea y de memoria, que ahora se encuentra en segunda grado previa y reemplaza la Interfaz Nativa de Java (JNI) con un maniquí de progreso en Java puro y con un rendimiento igual o superior a JNI y sun.misc.Unsafe. Ofrece diversas vías para negociar con diferentes tipos de memoria externa (memoria nativa, memoria persistente, etc); acomodar otras plataformas como por ejemplo x86 de 32-bit; usar funciones foráneas escritas en lenguajes como C, C++ o Fortran; encima de permitir a los programas aceptar a término operaciones insegura sobre la memoria foránea, pero avisando a los usuarios sobre dichas operaciones por defecto.

En casa de campo grado de incubación está la API de vectores, de la que ya expusimos en anteriores ocasiones. En JDK 20 ha mejorado su rendimiento hasta conseguir pasar a los cálculos escalares equivalentes, cosa que se ha conseguido mediante la inclusión de una API para expresar cálculos vectoriales que se compilan en tiempo de ejecución en instrucciones vectoriales que son óptimas para las arquitecturas de CPU soportadas.

Problemas corregidos de JDK 11 a JDK 20 por organización

Problemas corregidos de JDK 11 a JDK 20 por estructura.

En segunda grado previa han llegado los hilos virtuales, los cuales son hilos más livianos que reducen el esfuerzo de escribir, perseverar y observar aplicaciones concurrentes de parada rendimiento. La característica procede de Project Loom y tiene como objetivo refrescar el maniquí de concurrencia de Java con el fin de ajustarlo a las micción actuales de las aplicaciones de servidor a gran escalera. Hasta ahora las vías empleadas para implementar los hilos de Java tenían como coste un desperdicio del hardware por infrautilización o la condición de esfuerzo adicional por parte del programador correcto al uso de peores modelos de programación.

En grado de incubación ha llegado a JDK 20 los títulos de gravedad, que permiten compartir datos inmutables en el interior y entre hilos. Es preferible utilizar los títulos de gravedad antaño que las variables de un hilo en locorregional, sobre todo cuando se emplea una gran cantidad de hilos virtuales. Por otra parte, proporcionan facilidad de uso, comprensibilidad, robustez y rendimiento.

Y como última novedad destacada, en segunda grado de incubación está la concurrencia estructurada, que simplifica la programación multhilo mediante la inclusión de una API para la concurrencia estructurada.

Todos los detalles sobre Java 20 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 lectura software librado 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 apelar a OpenJDK en caso de tener dudas sobre las restricciones de la lectura comercial, ya que Oracle asustó a muchos al cambiar la inmoralidad en 2018, a pesar de ser un movimiento con un impacto real reducido.

Advertencia, desplázate para continuar leyendo