Oracle cambió recientemente la política de publicación de nuevas versiones de Java. Ahora los ciclos de vida serán más cortos, se añadirán nuevas características de manera más frecuente, se publicará una nueva versión cada seis meses con un periodo de soporte reducido, y sólo una de cada tres versiones tendrán un periodo de soporte prolongado o “long term support” (LTS).

La versión LTS actual es la 8, y la próxima será la 11 a ser publicada en septiembre. La versión 9 y 10 pueden verse como versiones intermedias para experimentar con las nuevas características.

Este intento de dinamizar el desarrollo e incorporación de nuevas características trata de igualar Java a otros lenguajes, como JavaScript, para el que la competencia entre navegadores ha supuesto una evolución muy rápida en los últimos años, y evitar perder la batalla del Internet de las Cosas (IOT).

La versión 9 de Java salió apenas hace seis meses repleta de novedades, que la mayoría de los equipos de desarrollo aún no han empezado a conocer y explotar, pero cumpliendo con el calendario propuesto, Oracle ya ha publicado la versión 10.

Las novedades destacadas por la propia Oracle son:

  • Inferencia de tipos de variables locales
  • Mejora del Garbage Collector G1 haciéndolo completamente paralelo
  • Ampliación de Class-Data Sharing para permitir la inclusión de clases de aplicación
  • Activación del compilador JIT en plataformas Linux de 64 bits

Leyendo entre líneas, además de las habituales mejoras de rendimiento, es claro que las novedades van enfocadas a mejorar la experiencia de desarrollo para equipararla a lenguajes de script como JavaScript o Dart. Reduciendo la cantidad de código a escribir, con la introducción de la palabra reservada var para la inferencia de tipos. Dando pasos hacia una compilación Ahead Of Time (AOT) eficiente. Y la creación de snapshots para reducir los tiempos de arranque.

Para instalar la nueva versión en Windows basta con descargar el ejecutable y ejecutarlo de la forma acostumbrada. No obstante, si se tiene varias máquinas virtuales instaladas a la vez, y se quiere controlar de forma precisa cuál de ellas se ejecuta en cada momento, lo recomendable es abrir jdk-10_windows-x64_bin.exe con 7-Zip o similar, extraer el fichero tools.zip, y descomprimir este último en un directorio concreto donde se quiere tener la máquina virtual instalada.

El proceso de extracción de la máquina virtual a un directorio desde el ejecutable se ha simplificado con respecto a la versión 8, y algunas de las anteriores, que requería más pasos e implicaba el uso de unpack200 para descomprimir.

Una vez instalada la nueva versión se puede verificar la instalación desde línea de comandos ejecutando java –version, lo que retorna la siguiente salida:

La nomenclatura utilizada para identificar la máquina virtual es distinta con respecto a anteriores versiones. Aunque se sigue conservando la numeración original, ahora se utiliza el año y mes de publicación para distinguir las versiones. La cadena 18.3 hace referencia a marzo de 2018.