Editor en La Ecuación Digital. Consultor de Innovación y Estrategia…
Oracle ha anunciado hoy que ya está disponible Java 20, la última versión del lenguaje de programación y la plataforma de desarrollo número uno del mundo. Java 20 (Oracle JDK 20) ofrece miles de mejoras de rendimiento, estabilidad y seguridad, incluido el perfeccionamiento de la plataforma que ayudará a los desarrolladores a incrementar la productividad e impulsar la innovación y el crecimiento en sus organizaciones.
Oracle muestra las últimas capacidades de Java 20 durante el Java Developer Day hoy, dentro del evento Oracle DevLive Level Up que se celebra del 20 al 23 de marzo en Redwood Shores, CA y en línea.
La última versión de Java Development Kit (JDK) proporciona actualizaciones y responde a siete propuestas de mejora (JEP). La mayoría de las actualizaciones son funciones de seguimiento que mejoran la funcionalidad introducida en versiones anteriores.
JDK 20 ofrece mejoras de lenguaje del proyecto Amber OpenJDK (patrones de registro y correspondencia de patrones para expresiones y declaraciones «switch»); mejoras del proyecto Panamá OpenJDK para interconectar Java Virtual Machine (JVM) y el código nativo (API de memoria y función extranjera y la API vectorial); y funciones relacionadas con el proyecto Loom (valores de ámbito, threads virtuales y simultaneidad estructurada), que simplificarán drásticamente el proceso de escritura, mantenimiento y observación de aplicaciones concurrentes de alto rendimiento.
«Las organizaciones actuales se enfrentan a una presión cada vez mayor para utilizar sus recursos de la forma más inteligente y eficiente posible, lo que requiere que los desarrolladores busquen herramientas que optimicen el desarrollo de aplicaciones, al tiempo que ayudan a garantizar que sus organizaciones alcancen sus objetivos de seguridad y cumplimiento de TI», afirma Jay Lyman, analista de investigación senior en S&P Global Market Intelligence. «Los líderes de transformación digital señalan que están más centrados en mejorar el tiempo de comercialización y la agilidad1 que se obtiene con unas mejores herramientas que permiten acelerar las iniciativas de desarrollo de aplicaciones de su organización».
Oracle entrega nuevas funciones de Java cada seis meses, siguiendo un calendario regular 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 de los más diversos sectores.
Actualizaciones más significativas de Java 20
Actualizaciones y mejoras del lenguaje
- JEP 432: Patrones de registro (segunda vista previa): Mejora el lenguaje Java al permitir que los usuarios aniden patrones de registro y de tipo para crear un método potente, declarativo y componible de navegación y procesamiento de datos. Esto ayuda a aumentar la productividad de los desarrolladores al permitirles ampliar la coincidencia de patrones para permitir consultas de datos compuestas y más sofisticadas.
- JEP 433: Correspondencia de patrones a las expresiones «switch» (cuarta vista previa): La ampliación de la correspondencia de patrones a las expresiones switch permite que una expresión se pruebe con una serie de patrones, cada uno con una acción específica, de modo que las consultas complejas orientadas a datos se puedan expresar de forma concisa y segura. La ampliación de la expresividad y aplicabilidad de expresiones y sentencias «switch» ayuda a aumentar la productividad de los desarrolladores.
Funciones del proyecto Loom en vista previa/incubación
- JEP 429: Valores de ámbito (incubación): activa el uso compartido de datos inmutables en threads individuales y entre distintos threads, que son preferibles a las variables locales de threads, especialmente cuando se utilizan grandes números de threads virtuales. De esta forma, se incrementa la facilidad de uso, la comprensión, la solidez y el rendimiento.
- JEP 436: Threads virtuales (segunda vista previa): Optimiza significativamente el proceso de escritura, mantenimiento y observación de aplicaciones concurrentes de alto rendimiento mediante la introducción de threads virtuales ligeros en la plataforma Java. Al permitir que los desarrolladores solucionen problemas, depuren y perfilen fácilmente aplicaciones concurrentes con las herramientas y técnicas actuales de JDK, los threads virtuales aceleran el desarrollo de aplicaciones.
- JEP 437: Concurrencia estructurada (segunda incubación): Simplifica la programación multithread al tratar varias tareas que se ejecutan en diferentes threads como una única unidad de trabajo. De esta manera, los equipos de desarrollo optimizan la gestión y la cancelación de errores, mejoran la fiabilidad e incrementan la observabilidad.
Funciones de vista previa del proyecto Panama
- JEP 434: API de memoria y funciones externas (segunda vista previa): permite que los programas Java interoperen con código y datos fuera del tiempo de ejecución de Java. Al invocar de forma eficaz funciones externas (esto es, código ajeno a Java Virtual Machine, o JVM) y mediante el acceso seguro a memoria externa (es decir, no gestionada por JVM), la API permite a los programas Java llamar a bibliotecas nativas y procesar datos nativos sin necesidad de utilizar Java Native Interface. Así, se logra aumentar la facilidad de uso, el rendimiento y la seguridad.
- JEP 438: API de vector (quinta incubación): Expresa cálculos de vector que recopilan de forma fiable en tiempo de ejecución instrucciones de vector en arquitecturas de CPU soportadas. Esto aumenta el rendimiento en comparación con los cálculos escalares equivalentes.
Java 20 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 OpenJDK y del Java Community Process (JCP). A estas nuevas mejoras se suma la compatibilidad de Java 20 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 a los clientes y al ecosistema global de Java
Oracle Java Universal SE Subscription es una oferta de pago por consumo que proporciona a los clientes el mejor soporte posible, incluido el soporte de clasificación para toda la cartera de Java, el derecho a GraalVM Enterprise, Java SE Subscription Enterprise Performance Pack, el acceso a las funciones avanzadas de Java Management Service y la flexibilidad para realizar actualizaciones al ritmo de su negocio.
Esto ayuda a las organizaciones de TI a gestionar la complejidad, contener los costes y mitigar los riesgos de seguridad. Además, Oracle Java SE, GraalVM Enterprise y Java SE Subscription Enterprise Performance Pack están disponibles de forma gratuita en Oracle Cloud Infrastructure, lo que permite a los desarrolladores crear y desplegar aplicaciones que se ejecutan más rápido, mejor y con una relación rendimiento-coste inmejorable en Oracle Cloud.