Tras múltiples retrasos y variaciones en el ámbito, por fin hoy ve la luz la nueva y esperada versión de la plataforma Java: Java 9. Es importante no olvidar que la anterior versión, Java 8, se lanzó en marzo de 2014, toda una vida en los tiempos que corren, y que las sucesivas "updates" que han ido lanzando hasta julio de este año eran fundamentalmente arreglo de bugs de seguridad. Es decir, han sido 3 años y medios sin nada nuevo en el lenguaje o la plataforma 😱 Y eso que Java 9 lleva en el tablero de diseño desde 2011...
El principal cambio que ha vivido el JDK 9 y también el principal motivo del retraso (no se sabía si finalmente iba a estar) ha sido la introducción de un nuevo tipo de componente de programación Java: el módulo. Es el famoso "proyecto Jigsaw", que tantas discusiones ha ocasionado.
Un módulo es una colección auto-descriptiva de código y datos, según la define la propia Oracle. Siguiendo la estela de Node.js o de .NET Core, su principal objetivo es el de reducir el tamaño y la complejidad tanto de las aplicaciones Java como del propio runtime de Java (JRE), que ha sido también modularizado usando la nueva característica. De este modo es posible crear aplicaciones que incluyan solamente aquello que utilizan, y no la plataforma Java completa.
Nota: Nuestro curso de Java ya está preparado para que aprendas a programar con Java9 >>
Para poder soportar estos nuevos módulos se han creado dos nuevos tipos de archivo: un archivo module-info.class
que debe ir en la raíz del módulo, y un nuevo formato de JAR modular. Se eliminan el rt.jar
y tools.jar
de la imagen de tiempo de ejecución de Java.
Esta nueva filosofía también va a conseguir que, por fin, Java se pueda mover más rápido como plataforma, incorporando nuevas características más rápido, sin esperar a una versión completa nueva.
En la web del OpenJDK puedes encontrar información al respecto del funcionamiento de esta característica.
Esta es la novedad más llamativa, pero en realidad se introducen hasta 90 nuevas características y mejoras, como por ejemplo, por destacar las más importantes:
- Opciones de la Java Virtual Machine (JVM):
- Plataforma nativa:
- JavaFX:
- Javadoc:
- JavaScript y HTTP:
- Imágenes:
- Azúcar sintáctico:
- Mejoras en cadenas:
- Unicode:
- Varios:
Puedes ver una lista completa en la web del OpenJDK para el JDK 9.
Esta nueva versión de Java y el JDK estará soportada hasta 2022. Oracle ha manifestado que va a imponer un ciclo de nuevas versiones cada 6 meses, algo que ya empieza a ser casi la norma en el sector (y sino que se lo digan a los de Angular).