top of page
Foto del escritorReclunautas

#EsTendencia Oracle anuncia el lanzamiento de Java 17

Oracle ha anunciado la llegada de Java 17, con todo tipo de actualizaciones de rendimiento, estabilidad y seguridad. También incorpora la 14 JEP (Propuestas de mejora del JDK), con las que busca mejorar el lenguaje y la plataforma y potenciar la productividad de los desarrolladores. Java 17 es una versión con soporte de larga duración (LTS), la de más reciente lanzamiento dentro del ritmo de lanzamientos y actualizaciones de Oracle, que tiene lugar cada seis meses. Eso sí, la última versión del JDK, la 11, se lanzó hace ya tres años.


Tanto Oracle JDK 17 y las versiones del JDK que se lancen en el futuro tendrán una licencia de uso gratuito que durará hasta que pase un año desde la siguiente versión LTS. Además, Oracle seguirá proporcionando las versiones de Oracle Open JDK bajo licencia GPL. La próxima versión LTS de Java, que verá la luz en septiembre de 2023, ya tiene propuesta de nombre: será Java 21. Además, será la versión que marque el cambio de periodicidad en el lanzamiento de las versiones LTS de Java, que pasarán de lanzarse cada tres años a hacerlo cada dos.

Eso sí, con Oracle LTS y Java SE Subscription, los usuarios de la plataforma pueden mirar a Java 17 a su ritmo. Cuando lo hagan, Oracle les proporcionará actualizaciones de seguridad, rendimiento y corrección de errores para Java 17, como mínimo, hasta septiembre de 2029.


JDK incluye varias mejoras del lenguaje, así como actualizaciones de las bibliotecas, soporte para nuevos ordenadores de Apple. Además, elimina y suprime funciones heredadas y trabaja para garantizar que el código Java escrito con esta versión siga funcionando con las versiones del JDK que se lancen en el futuro. Además, ofrece una vista previa de las características del lenguaje y la incubación de APIs para recoger los comentarios de la comunidad.


Entre las mejoras del lenguaje Java de esta versión están las clases selladas, que restringen qué otras clases o interfaces pueden extenderlas o implementarlas. Además, en las bibliotecas vuelve Always-Strict Floating-Point Semantics. Java y su máquina virtual solo tenían en principio lo que se conoce como «semántica estricta de punto flotante». Desde Java 1.2 se permitieron cambios ligeros en esta semántica para adaptar el lenguaje a las limitaciones de las arquitecturas hardware. Pero esos cambios ya no son útiles, así que se han eliminado.


Por otro lado, Java cuenta ahora con un generador de números pseudoaleatorios mejorado, que ofrece nuevos tipos de interfaz e implementaciones para los generadores de números pseudoaleatorios. Con él se mejora la interoperabilidad de los distintos PRNG y se facilita la petición de un algoritmo basado en requisitios. Además, cuenta con un nuevo Rendering Pipeline para MacOS, que implementa un pipeline Java 2D para MacOS, con la API Metal de Apple, que reducirá la dependencia del JDK de la API OpenGL de Apple, ya obsoleta.


En cuanto a eliminaciones, destaca la de la API de Applet para suprimirla, ya que todos los proveedores de navegadores web han retirado la compatibilidad con los complementos de navegador de Java, o tienen previsto hacerlo. Además, la API de Applet quedó obsoleta ya en Java 9. También se ha eliminado el mecanismo de Activación RMI, así como los compiladores experimentales AOT y JIT. También desaparece el Gestor de seguridad, para su eliminación en una futura versión.


Entre otras cosas relacionadas con Java 17, en el futuro, por otro lado, ya no se podrá relajar en encapsulamiento fuerte de los elementos internos mediante una opción de línea de comandos. Se podrá acceder a las APIS internas, pero será necesario enumerar, como parámetros de la línea de comandos o atributos de archivo JAR cada uno de los paquetes cuya encapsulación debería ser relajada.




17 visualizaciones0 comentarios

Comments


bottom of page