Editor en La Ecuación Digital. Consultor de Innovación y Estrategia…
Oracle anunció que ya está disponible Java 18 , la última versión del lenguaje de programación y la plataforma de desarrollo número uno del mundo. Java 18 (Oracle JDK 18) ofrece miles de mejoras de rendimiento, estabilidad y seguridad, incluidas nueve novedades que impulsarán aún más la productividad de los desarrolladores.
La edición más reciente de Java Development Kit (JDK) incorpora una serie de actualizaciones, incluidas nueve propuestas de mejora de JDK (JEP). Estas incluyen la capacidad de agregar Code Snippets en Java API Documentation (JEP 413), lo que simplifica el añadido de código fuente de ejemplo en la documentación de la API y Simple Web Server (JEP 408) para la creación de prototipos y la realización de comprobaciones. Los desarrolladores pueden analizar dos módulos de incubación: la Vector API (JEP 417) y la Foreign Function and Memory API (JEP 419), así como una función de vista previa: Pattern Matching for Switch (JEP 420).
«Los desarrolladores de Java quieren una innovación continua con funciones de lenguaje de programación modernas, mejoras en la experiencia de desarrollador, servicios gestionados en la nube y estabilidad», dijo James Governor, Principal Analyst, RedMonk. «Con la cadencia consistente de lanzamientos semestrales de Java, Oracle está satisfaciendo esas demandas, ayudando a mantener la relevancia de Java para las aplicaciones y cargas de trabajo modernas».
Acelerando la adopción de Java en la nube
Recientemente, Oracle presentó Java Management Service (JMS), un nuevo servicio nativo de Oracle Cloud Infrastructure (OCI) diseñado para gestionar los tiempos de ejecución y aplicaciones Java on-premise o en cualquier nube. JMS proporciona la información necesaria para gestionar los despliegues de Java en todas las esferas de la empresa. Asimismo, se incluye Java Management Service para cargas de trabajo de OCI y para suscriptores de Java SE.
Java 18 es la versión más reciente, siguiendo la cadencia de lanzamientos cada seis meses de Java, y es el fruto de una extensa colaboración entre ingenieros de Oracle y otros miembros de la comunidad mundial de desarrolladores de Java, a través del proyecto OpenJDK y de Java Community Process (JCP). Esto proporciona un flujo constante de innovaciones, al tiempo que brinda mejoras continuas en el rendimiento, la estabilidad y la seguridad, lo que aumentará la presencia de Java en las organizaciones y sectores de todos los tamaños. Los cambios más importantes de Java 18 son:
Actualizaciones y mejoras de bibliotecas
- JEP 400: UTF-8 por defecto: establece UTF-8 como el conjunto de caracteres por defecto de las API estándar de Java. Con este cambio, las API que dependen del conjunto de caracteres predeterminado se comportarán de manera coherente en todas las implantaciones, sistemas operativos, entornos regionales y configuraciones.
JEP 408: Simple Web Server: una herramienta de línea de comandos y API para iniciar un servidor web mínimo que solo sirve archivos estáticos. Esta herramienta será útil para la definición de prototipos, la codificación ad hoc y la realización de comprobaciones, especialmente en contextos educativos. - JEP 416: Reimplementar Core Reflection con Method Handles: implementa java.lang.reflect.Method, Constructor y Field además de identificadores de método java.lang.invoke. Al lograr que el método identifique el mecanismo subyacente para la reflexión, se reducen los costes de mantenimiento y desarrollo de las API java.lang.reflect y java.lang.invoke.
- JEP 418: Resolución de direcciones de Internet SPI: define una interfaz de proveedor de servicios (SPI) para la resolución de nombres de host y direcciones, de modo que java.net.InetAddress pueda utilizar solucionadores aparte del que viene de serie con la plataforma.
Herramientas
- JEP 413: JEP Code Snippets en Java API Documentation: introduce la etiqueta @snippet para que el doclet estándar de JavaDoc simplifique la inclusión del código fuente de ejemplo en la documentación de la API. Vista previa e incubadores para versiones posteriores de JDK
- JEP 417: Vector API (Third Incubator): proporciona una API para que los desarrolladores utilicen con toda confianza las arquitecturas CPU que proporcionan extensiones de vectores escalables. De esta forma se incrementará el rendimiento frente a cálculos equivalentes de procesadores no ampliados.
- JEP 419: Foreign Function and Memory API (Second Incubator): permite a los programas Java interoperar con código y datos fuera del tiempo de ejecución de Java. Al invocar de forma eficaz funciones ajenas (es decir, código fuera de JVM) y al acceder de forma segura a la memoria ajena (es decir, memoria no gestionada por JVM), la API permite a los programas Java invocar bibliotecas nativas y procesar datos nativos sin la fragilidad y las dificultades de JNI.
- JEP 420: Pattern Matching for Switch (Second Preview): mejora el lenguaje de programación Java con coincidencia de patrones para expresiones y sentencias de cambio, junto con extensiones para el lenguaje de patrones. La ampliación de la coincidencia de patrones para cambiar permite que una expresión se compruebe en relación con diversos patrones, cada uno con una acción específica, de modo que las consultas complejas orientadas a los datos se puedan expresar de forma concisa y segura.
Y en el futuro
- JEP 421: Deprecate Finalization for Removal: la finalización permanece activada por defecto por ahora, pero se puede desactivar para facilitar las comprobaciones. En futuras versiones, se desactivará por defecto y, posteriormente, se eliminará. Los mantenedores de bibliotecas y aplicaciones que dependen de la finalización deberían considerar la migración a otras técnicas de gestión de recursos, como la sentencia try-with-resources y los limpiadores.
Soporte a los clientes de Java
Oracle Java SE Subscription, la oferta de pago por consumo predecible, proporciona a los clientes el mejor soporte posible, derecho a GraalVM Enterprise, acceso a Java Management Service y la flexibilidad para realizar actualizaciones al ritmo de su negocio. De esta forma, las organizaciones de TI pueden gestionar la complejidad, contener los costes y mitigar los riesgos de seguridad.