El kit de desarrollo de Java, versión 9, parece ahora sí estar completo y disponible en general para la edición estándar de Java 9, anunciada para el 27 de julio de 2017. Los detalles de lo último en lo que se ha trabajado fue anunciado por Mark Reinhold, de Oracle, en la lista de correos del desarrollo de JDK.
Reinhold dice que Oracle ha logrado que las características de la extensión sean completadas, lo que ocurrió en diciembre pasado y que todas las JEPs y pequeñas mejoras en algunas otras extensiones se habrán integrado al bosque maestro de JDK 9.
Esto viene a ser la Final Release, es decir, la versión que saldrá a la luz pública en la fecha anunciada y no se espera que haya más modificaciones en este trabajo por el momento. Las mejoras más importantes en el JDK 9 tienen que ver con el proyecto rompecabezas (Jigsaw), el cual da la posibilidad a los desarrolladores de escribir código de módulos independientes.
Jigsaw define un sistema de módulo estándar para la plataforma Java y será usada para modularizar la plataforma por sí misma, así como sus aplicaciones.
La página de JDK 9 lista un número de características relacionadas con el proyecto Jigsaw, siendo este una de las inclusiones importantes en el JDK 9, incluyendo el JDK modular y la implementación del sistema modular de la plataforma Java. Todo lo demás será muy secundario. Aún así, podemos hablar de actualizaciones de los API, más y mejores herramientas y un sistema HTTP/2 para la parte de cliente.
Las actualizaciones del API limitan el soporte a Java SE para los procesos nativos del sistema operativo. Da un API básico para definir el entorno y empezar un proceso, pero nada más. La clase java.lang.Process se ha mejorado para dar el id del proceso del sistema operativo de los procesos, información sobre estos incluyen argumentos, comandos, el tiempo de inicio del proceso, el tiempoa cumulado de CPU y el nombre del usuario asociado al proceso.
Por otra parte el API del cliente HTTP2 reemplaza el API existente, que tenía sus problemas. Esta nueva versión soporta el protocolo HTTP/2 y los websockets.
Las mejoras en las herramientas vienen parcialmente de un nuevo sistema llamado jshell. Esta es una herramienta interactiva que evalúa declaraciones y expresiones del lenguaje de programación Java, junto con un API, de forma que otras aplicaciones pueden usar esta funcionalidad.
Hay, además, algunas características para hacer la vida más fácil a los desarrolladores, que incluye el manejo de variables y actualizaciones en lo que se refiere la concurrencia.
Referencias: OpenJDK, i-programmer