Java 16 trae importantes mejoras para desarrolladores

Oracle lanza la versión 16 de Java, que incluye importantes mejoras dirigidas a reforzar la seguridad e incrementar la productividad de los desarrolladores. 

Coincidiendo con su 25 aniversario, Oracle anunció el lanzamiento de la versión 16 de Java, el principal lenguaje de programación del momento y la plataforma de desarrollo de aplicaciones hegemónica en la actualidad. Prueba de ello es que según los últimos estudios del sector, más de un 69 % de los desarrolladores lo emplean debido a su facilidad de uso, al contar con un lenguaje basado en C++, obteniendo un excelente rendimiento, con una mayor fiabilidad, seguridad e independencia. 

Aunque semestralmente contamos con una nueva actualización, que trae consigo un flujo constante de innovación para organizaciones y empresas de todos los tamaños, esta versión trae consigo un amplio abanico de mejoras en cuanto a rendimiento, estabilidad y seguridad para desarrolladores:

  • Mejoras en el lenguaje de programación Java
    • JEP 394: Pattern Matching for instanceof. Coincidencia de patrones para el operador instanceof.
    • JEP 395: Records. Incorporación de nominal tuples o registros, que actúan como portadores transparentes de datos inmutables. 
  • Mejoras en la productividad de desarrollo con la introducción de una nueva herramienta
    • JEP 392: Packaging Tool. La herramienta jpackage permite empaquetar aplicaciones Java autónomas.
  • Mejoras de optimización de rendimiento con una mejor gestión de la memoria
    • JEP 387: Elastic Metaspace. Permite una mayor rapidez a la hora de devolver al sistema operativo la memoria de metadatos de clase HotSpot no utilizada. Además, simplifica el código, reduciendo los costes de mantenimiento.
    • JEP 376: ZGC: Concurrent Thread-Stack Processing. Permite el procesamiento concurrente, moviendo el stack de subprocesos ZGC desde puntos seguros. 
  • Mejoras en la productividad y flexibilidad con redes optimizadas
    • JEP 380: UNIX-Domain Socket Channels. Se incluye soporte para todas las características de sockets de dominio Unix, utilizados para la comunicación de procesos (IPC) en el mismo host. 
  • Mejoras en el código incompatible. 
    • JEP 396: Strongly Encapsulate JDK Internals by Default. Se refuerza la restricción de acceder a nuevos elementos internos de la API, encapsulando la mayoría de forma predeterminada, excepto para aquellas APIs internas críticas. Esto le permite a los desarrolladores actualizar Java sin problemas con futuras versiones.
    • JEP 390: Warnings for Value-Based Classes. Java 16 proporciona advertencias sobre errores a la hora de sincronizar peticiones en la plataforma. Por otro lado, designa todas las clases de empaquetamiento primitivas como value-based.
java 16 logo
  • Mejoras en las funciones de vista previa e incubación.
    • JEP 338: Vector API (Incubator). Nos permite expresar cálculos vectoriales y compilarlos de forma confiable en tiempo de ejecución. De esta forma, obtenemos instrucciones óptimas de hardware vectorial en arquitecturas de CPU compatibles.
    • JEP 389: Foreign Linker API (Incubator). Esta nueva API ofrecerá al código nativo acceso Java de tipo estático.
    • JEP 393: Foreign-Memory Access API (Third Incubator). Los programas Java pueden acceder de manera segura y eficiente a la memoria externa fuera del stack de Java a través de esta API. 
    • JEP 397: Sealed Classes (Second Preview). Nuevas clases e interfaces selladas (restringen la extensión o implementación) mejoran el lenguaje de programación Java. 
  • Mejoras dirigidas a colaboradores de OpenJDK:
    • JEP 347: Habilita las funciones del lenguaje C ++ 14 (en el código fuente de JDK). Esta nueva versión nos permite usar funciones del lenguaje C++ en el código fuente de JDK C++, proporcionando a su vez una guía específica sobre cuáles de esas funciones pueden usarse en el código HotSpot.
    • JEP 357: Migrar de Mercurial a Git. Podemos migrar los repositorios de código fuente de la Comunidad OpenJDK de Mercurial (hg) a Git.
    • JEP 369: Migrar a GitHub. Incorpora el alojamiento de los repositorios Git de la comunidad OpenJDK en GitHub.
  • Mejoras de soporte a Java en más plataformas a través de nuevos puertos.
    • JEP 386: Alpine Linux Port. Nuevo puerto para Alpine Linux u otras distribuciones de Linux que utilizan musl como biblioteca C principal, tanto en arquitecturas x64 como en AArch64. 
    • JEP 388: Windows/Aarch64 Port. Nuevo puerto para Windows/AArch64. 

Formación en Java

¿Estás buscando un curso de Java? ¿Quieres convertirte en un desarrollador Full-Stack? ¿Eres una empresa y necesitas una formación In Company 100% online y bonificable? En Formadores IT respondemos a tus necesidades formativas procedentes tanto de empresas o PYMES, como de particulares.

Ofrecemos formación en varias modalidades: cursos online de teleformación, cursos online en directo por streaming, y formación a medida para empresas, con posibilidad de personalizar los contenidos del curso en función de tus necesidades.

Soluciones Formativas Ofertadas:

¡Síguenos en redes sociales!

Posts Relacionados

Los contenedores se han convertido en una de las herramientas más interesantes hoy en día para poder ejecutar aplicaciones en distintos entornos sin necesidad de realizar complejos procesos o configuraciones. Docker, por ejemplo, es capaz Leer más…

En la línea de comandos de Kubernetes, se introducen diferentes comandos a través de los cuales se pueden realizar las principales funciones de gestión y despliegue de múltiples contenedores. Dominar los comandos de Kubernetes es Leer más…

Gracias al uso de contenedores es posible utilizar aplicaciones de software en diferentes entornos al empaquetar todo lo necesario para su ejecución en el propio contenedor. La popularidad de los contenedores hace que su uso Leer más…