geekzillos, ¿sabían que Java 20 ya está disponible? Así como lo leen, el pasado 21 de marzo, Oracle nos sorprendió con esta noticia. Pero eso no fue lo mejor de todo, si quieren saber de qué hablamos no dejen de leer.
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 que se lleva a cabo hoy en el evento Oracle DevLive Level Up que se desarrollará entre del 20 al 23 de marzo en Redwood Shores, CA y en línea.
“Durante más de 25 años, Java ha brindado herramientas a los desarrolladores para diseñar y crear la próxima generación de aplicaciones sólidas, escalables y seguras”, señala Georges Saab, vicepresidente sénior de desarrollo, plataforma y presidente de Java, Consejo de Administración OpenJDK, Oracle. “Las nuevas mejoras innovadoras de Java 20 reflejan la visión y los valiosos esfuerzos que la comunidad global de Java ha aportado durante toda la existencia de Java. Con el apoyo proporcionado por el continuo liderazgo tecnológico de Java y la administración de la comunidad de Oracle, Java nunca ha sido tan fundamental como lenguaje contemporáneo y plataforma diseñada para ayudar a los desarrolladores a mejorar la productividad”.
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 Eric Hanselman, analista jefe de TMT 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 mejores herramientas que pueden acelerar las iniciativas de desarrollo de aplicaciones de su organización”.
Oracle entrega nuevas de 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 y sectores de todos los tamaños.
Las actualizaciones más significativas que aporta Java 20 son:
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. Además, 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 aumenta la facilidad de uso, el rendimiento y la seguridad.
- JEP 438: API de vector (quinta incubación): Expresa cálculos de vector. Los cuales 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.
¿Qué opinan de Java 20? ¿Les gustó? No olviden dejar sus comentarios.