Estás leyendo
Oracle libera Java 16 con 17 nuevas mejoras

Oracle libera Java 16 con 17 nuevas mejoras

  • La innovadora versión ofrece 17 nuevas mejoras, que incluyen progresos en el lenguaje Java, en las herramientas, en la administración de memoria y en las funciones de incubación y vista previa.
  • Pattern Matching y Records ya han sido finalizados en JDK 16, tras un año de feedback de la comunidad basado en aplicaciones del mundo real.
  • Oracle añade GraalVM Enterprise a la suscripción de Java SE, sin coste adicional
Programador

Oracle ha anunciado hoy la disponibilidad de Java 16 (Oracle JDK 16), que incluye 17 nuevas mejoras en la plataforma destinadas a elevar aún más la productividad de los desarrolladores.

El último Java Development Kit (JDK) culmina Pattern Matching for instanceof (JEP 394) y Records (JEP 395), mejoras de lenguaje que se vieron por primera vez en Java 14. Además, los pueden usar la nueva Packaging Tool (JEP 392) para enviar aplicaciones Java autónomas así como para explorar tres funciones de incubación –Vector API (JEP 338), Foreign Linker API (JEP 389) y Foreign-Memory Access API (JEP 389)- y una función de vista previa –Sealed Classes (JEP 397)-.

Oracle provee actualizaciones de Java cada seis meses para ofrecer a los un calendario de lanzamiento predecible. De este modo se proporciona un flujo constante de innovaciones, a la vez que se suministran mejoras continuas en cuanto a rendimiento, estabilidad y seguridad, lo que aumenta la omnipresencia de Java en organizaciones e industrias de todos los tamaños.

El potencial de la cadencia de lanzamiento de seis meses se ha mostrado plenamente con el último lanzamiento. Pattern Matching y Records se introdujeron hace un año como parte de JDK 14 y desde entonces han pasado por múltiples rondas de retroalimentación de la comunidad basada en aplicaciones del mundo real. Este proceso no solo ha dado a los de Java la oportunidad de experimentar con estas prestaciones antes de que fueran finalizadas, sino que también ha incorporado ese feedback tan crítico que ha dado como resultado dos JEP sólidos como una roca y que satisfacen las necesidades de la comunidad.Georges Saab, vice president of development, Java Platform Group, Oracle.

El lanzamiento de Java 16 es el resultado de un desarrollo de la al completo, que ha incluído revisiones abiertas, compilaciones semanales y una amplia colaboración entre los ingenieros de Oracle y los miembros de la comunidad mundial de de Java a través de la OpenJDK Community y Java Community Process. Las nuevas funciones de Java 16 son:

Mejoras en el idioma introducidas por primera vez en JDK 14 y finalizadas en JDK 16

  • JEP 394: Pattern Matching for instanceof – Mejora el lenguaje de programación Java con coincidencia de patrones para el operador instanceof.
  • JEP 395: Records – Mejora el lenguaje de programación Java con registros, que son clases que actúan como portadores transparentes de datos inmutables. Los registros pueden considerarse nominal tuples.

Nueva herramienta para mejorar la productividad del desarrollador

  • JEP 392: Packaging Tool – Proporciona la herramienta jpackage, para empaquetar aplicaciones Java autónomas.

Gestión de memoria mejorada para optimizar el rendimiento

  • JEP 387: Elastic Metaspace– Devuelve la memoria de metadatos de clase HotSpot no utilizada al más rápidamente, reduce la huella del metaespacio y simplifica el código de metadatos para reducir los costes de mantenimiento.
  • JEP 376: ZGC: Concurrent Thread-Stack Processing– Mueve el procesamiento de stack de subprocesos ZGC desde puntos seguros a una fase concurrente. Este trabajo elimina el último cuello de botella significativo para permitir el procesamiento de stack concurrente.

optimizadas para mejorar la productividad y flexibilidad de los

  • JEP 380: UNIX-Domain Socket Channels – Añade soporte para todas las características de sockets de dominio Unix que son comunes en las principales plataformas Unix y Windows a las API de canal de socket y canal de socket de servidor en el paquete java.nio.channels. Los sockets de dominio Unix se utilizan para la comunicación entre procesos (IPC) en el mismo host. Son similares a los sockets TCP/IP en la mayoría de los aspectos, excepto que se direccionan mediante nombres de ruta del sistema de archivos en lugar de direcciones de Protocolo de Internet (IP) y números de puerto.

Abordar el código incompatible con el futuro

  • JEP 396: Strongly Encapsulate JDK Internals by Default – en JDK 9 se encapsulaban fuertemente los nuevos elementos internos de la API, limitando el acceso a ellos. Sin embargo, como ayuda para la migración, JDK 9 eligió deliberadamente no encapsular fuertemente en tiempo de ejecución el contenido de los paquetes que existían en JDK 8. JDK 16 refuerza esta restricción al encapsular la mayoría de los elementos internos del JDK de forma predeterminada, excepto para APIs internas críticas como sun.misc.Unsafe. Los usuarios finales aún pueden elegir la encapsulación fuerte y relajada que ha sido la predeterminada desde JDK 9. Esto animará a los a migrar desde el uso de elementos internos a usar APIs estándar para que, tanto ellos como sus usuarios, puedan actualizar sin problemas a futuras versiones de Java.
  • JEP 390: Warnings for Value-Based Classes– Designa las clases de empaquetamiento primitivas como value-based y desaprueba sus constructores para que sean eliminados, provocando nuevos avisos de desaprobación. Proporciona advertencias sobre intentos incorrectos de sincronizar peticiones de cualquier clase value based en la plataforma Java.

Funciones de incubación y vista previa

  • JEP 338: Vector API (Incubator) – Proporciona una iteración inicial de un módulo de incubadora, jdk.incubator.vector, para expresar cálculos vectoriales que se compilan de manera fiable en tiempo de ejecución para obtener instrucciones óptimas de hardware vectorial en arquitecturas de CPU compatibles.
  • JEP 393: Foreign-Memory Access API (Third Incubator) – Presenta una API para permitir que los programas Java accedan de manera segura y eficiente a la memoria externa fuera del stack de Java.
  • JEP 397: Sealed Classes (Second Preview) – Mejora el lenguaje de programación Java con clases e interfaces selladas. Las clases e interfaces selladas restringen qué otras clases o interfaces pueden extenderlas o implementarlas.

Mejoras para los colaboradores de OpenJDK

Nuevos puertos ofrecen soporte a Java en más plataformas

  • JEP 386: Alpine Linux Port – Porta JDK a Alpine Linux y a otras distribuciones de Linux que utilizan musl como su biblioteca C principal, tanto en arquitecturas x64 como en AArch64.

Mejorando Java constantemente

Java sigue siendo una de las plataformas de desarrollo más exitosas de la historia, basada en la innovación continua para abordar las necesidades cambiantes de los de aplicaciones modernas. Para hacer que la suscripción de Oracle Java SE sea aún más valiosa para los clientes, Oracle ha añadido GraalVM Enterprise como un derecho. GraalVM puede mejorar el rendimiento y reducir el consumo de recursos de las aplicaciones, especialmente en microservicios y arquitecturas nativas de la nube. Las organizaciones que gestionan sus propiedades Java aprovechando la suscripción de Oracle Java SE no solo se benefician de tener las últimas mejoras y acceso directo a los expertos de Java en Oracle, sino que experimentan ahorros sustanciales con respecto a otros enfoques.

«En lugar de interesarme cada tres o cuatro años sobre las novedades de Java, esta cadencia me mantiene activo como desarrollador, profesor y formador apasionado», dijo José Paumard, assistant professor, University Sorbonne Paris Nord y co-organizador de Paris Java User Group. «He esperado ansiosamente el uso de Records para mejorar el rendimiento y la legibilidad de mi código de procesamiento de datos, y tras poder usarlo como una función de vista previa, ahora está disponible con esta última versión«.

Los desarrolladores pueden obtener más información sobre Java 16 y adquirir experiencia práctica en Oracle Developer Live: Java Innovations el 23, 25 y 30 de marzo.

Utilizamos cookies para facilitar la relación de los visitantes con nuestro contenido y para permitir elaborar estadísticas sobre las visitantes que recibimos. No se utilizan cookies con fines publicitarios ni se almacena información de tipo personal. Puede gestionar las cookies desde aquí.    Ver Política de cookies
Privacidad