Oracle ha anunciado la disponibilidad de Java 19, la última versión de uno de los lenguajes de programación y plataformas de desarrollo más usadas en el mundo. Java 19 (Oracle JDK 19) incluye miles de mejoras en el rendimiento, la estabilidad y la seguridad, que ayudarán a los desarrolladores a mejorar su productividad e impulsar la innovación en todos los ámbitos empresariales. Oracle dará a conocer las últimas funcionalidades de Java 19 en JavaOne 2022, que tendrá lugar del 17 al 20 de octubre en Las Vegas, y a través de una presentación que se emitirá en dev.java/ el martes 20 de septiembre a las 9:00 a. m. PT.
“Nuestra colaboración continua con la comunidad de desarrolladores es el pilar de Java. Como organización administradora de Java, Oracle hace gala de un compromiso inquebrantable por proporcionar a desarrolladores y empresas las herramientas más novedosas, con el fin de ayudarlos a crear aplicaciones y servicios pioneros”, señala Georges Saab, vicepresidente senior de desarrollo de Java Platform. “Estas potentes nuevas mejoras de Java 19 son el reflejo del trabajo monumental de toda la comunidad global de Java”.
El último Java Development Kit (JDK) proporciona actualizaciones y responde a siete propuestas de mejora. La mayoría de estas actualizaciones se entregarán como funciones adicionales de seguimiento en previsualización que afianzan funcionalidades introducidas en versiones anteriores.
Oracle entrega nuevas funciones de Java cada seis meses, siguiendo un calendario predecible de lanzamiento de versiones
JDK 19 incluye mejoras del lenguaje dentro del proyecto Amber de OpenJDK (patrones de registro y correspondencia de patrones para expresiones y declaraciones “switch”); mejoras en la biblioteca para la interoperabilidad con código ajeno a Java (API de memoria y funciones externas) y para aprovechar instrucciones vectoriales (API Vector) en el marco del proyecto Panama de OpenJDK, así como las primeras previsualizaciones del proyecto Loom (threads virtuales y concurrencia estructurada), que reducirán drásticamente el esfuerzo necesario para escribir y mantener aplicaciones concurrentes de alto rendimiento en Java.
“Los desarrolladores de Java buscan cada vez más herramientas que les ayuden a crear de forma eficiente aplicaciones altamente funcionales para su despliegue en la nube y en entornos locales e híbridos”, apunta Arnal Dayaratna, vicepresidente de análisis de desarrollo de software de IDC. “Las mejoras de Java 19 cumplen estos requisitos y reflejan la posición ventajosa de Java a la hora de satisfacer las necesidades actuales y futuras de desarrolladores y empresas”.
Oracle asegura que el número de certificaciones Java ha alcanzado ya el millón, una cifra que demuestra la popularidad que tiene
Oracle entrega nuevas funciones de Java cada seis meses, siguiendo un calendario predecible de lanzamiento de versiones. Esta cadencia proporciona un flujo constante de innovaciones, al tiempo que brinda mejoras continuas en el rendimiento, la estabilidad y la seguridad de la plataforma, lo que ayuda a aumentar la presencia de Java en organizaciones de todos los tamaños y sectores.
Las actualizaciones más importantes incluidas en Java 19 son las siguientes:
Actualizaciones y mejoras del lenguaje
JEP 405: Patrones de registro (vista previa): permite a los usuarios anidar patrones de registro y de tipo para impulsar una forma potente, declarativa y modulable de navegación y procesamiento de datos. Esto amplía las posibilidades de la coincidencia de patrones, con el fin de permitir consultas de datos más sofisticadas y modulables.
JEP 427: Coincidencia de patrones para expresiones y declaraciones “switch” (tercera vista previa): permite la coincidencia de patrones para expresiones y declaraciones de cambio (“switch”) al facilitar que estas se prueben con varios patrones. De este modo, los usuarios pueden expresar consultas de datos complejas con concisión y seguridad.
Índice de temas
Herramientas de biblioteca
JEP 424: API de memoria y funciones externas (vista previa): permite a los programas Java interoperar más fácilmente con código y datos externos fuera del tiempo de ejecución de Java. Al llamar de forma eficaz a funciones externas (esto es, código ajeno a Java Virtual Machine o JVM) y acceder de forma segura a memoria externa (es decir, no gestionada por JVM), la API permite a los programas Java llamar a bibliotecas nativas y procesar datos nativos mediante un modelo de desarrollo basado únicamente en Java. Esto se traduce en una mayor facilidad de uso y un incremento del rendimiento, la flexibilidad y la seguridad.
JEP 426: API Vector (cuarta incubación): permite un rendimiento superior al de cálculos escalares equivalentes al expresar cálculos vectoriales que compilan de forma fiable en tiempo de ejecución instrucciones vectoriales en arquitecturas de CPU soportadas.
Puertos
JEP 422: Puerto Linux/RISC-V: la integración de este puerto al repositorio principal de JDK abre la vía a implementaciones más sencillas de Linux/RISC-V.
Funciones del proyecto Loom en vista previa/incubación
JEP 425: Threads virtuales (vista previa): reduce drásticamente el esfuerzo de escritura, mantenimiento y observación de aplicaciones concurrentes de alto rendimiento mediante la introducción de threads virtuales ligeros en la plataforma Java. El uso de threads virtuales permite a los desarrolladores solucionar problemas, depurar y perfilar fácilmente aplicaciones concurrentes con las herramientas y técnicas de JDK existentes.
JEP 428: Concurrencia estructurada (incubación): optimiza el manejo y la cancelación de errores, mejora la fiabilidad y la observabilidad, al simplificar la programación multi-hilo y tratar múltiples tareas que se ejecutan en diferentes threads como una única unidad de trabajo.
Impulsar la innovación de Java en la nube
Java 19 es el resultado de una amplia colaboración entre ingenieros de Oracle y otros miembros de la comunidad mundial de desarrolladores de Java a través del proyecto OpenJDK y del Java Community Process (JCP). A estas nuevas mejoras se suma la compatibilidad de Java 19 con Java Management Service, un servicio nativo de Oracle Cloud Infrastructure (OCI) que proporciona un único panel para ayudar a las organizaciones a gestionar los tiempos de ejecución y aplicaciones Java en entornos locales o en cualquier nube.
Soporte para clientes de Java
Oracle Java SE Subscription es una oferta de pago por consumo predecible que proporciona a los clientes el mejor soporte posible, derecho a utilizar GraalVM Enterprise, acceso a Java Management Service y flexibilidad para actualizar al ritmo de su negocio. Esto ayuda a las organizaciones de TI a desafiar la complejidad, limitar los costes y mitigar los riesgos de seguridad. Además, Java SE y GraalVM Enterprise se ofrecen de forma gratuita en OCI, lo que permite a los desarrolladores crear y desplegar aplicaciones que se ejecutan más rápido, mejor y con una relación coste-rendimiento inmejorable en Oracle Cloud.