Todavía no hemos terminado de conocer las novedades que trae Java 8 cuando se empieza a divisar en el horizonte la versión 9. Esto siempre es positivo ya que quiere decir que la plataforma sigue estando muy viva y la comunidad de desarrolladores sigue aportando nuevas ideas y sugerencias sobre como el lenguaje debe evolucionar. ¿Ahora bien que será lo nuevo en Java 9?.
Java y Modularidad
Hoy por hoy el JDK de Java es capaz de hacer muchas cosas. Pero tiene un problema importante y es que nos da acceso a todas las APIs o no nos da acceso a ninguna. Lo cual es un problema sobre todo a futuro ya que vamos hacia plataformas con dispositivos móviles mas pequeños en donde el JDK no tiene el tamaño adecuado.
Ademas en el horizonte empieza a aparecer un competidor que es Javascript con la plataforma de Node.js que es muy modular. Así que hay que estar muy atento al futuro y prepararse frente a otras plataformas. Para ello nace el proyecto Jigsaw de Java 9 que su objetivo principal es conseguir un JDK más modular que nos permite la instalación del JDK en dispositivos más pequeños.
Para mí este es uno de los avances más importantes. Vamos a ver otros a continuación
JSON Light-Weight (JEP 198)
El uso de JSON como standard de facto es cada día mayor y todos vamos a agradecer un nuevo API que nos permita trabajar con el de forma mucho más ligera y optimizada. Estoy seguro que la gente que trabaja con NoSQL lo va ha agradecer mucho.
HTTP 2 Client API (JEP 110)
HTTP sigue avanzando y las clases de cliente que tenemos habitualmente en el JDK comienzan a necesitar una renovación. El API actual es demasiado grande y muchas personas han solicitado una simplificación que permite trabajar con lo fundamental para ganar claridad. Ademas se incluirá soporte de WebSockets como parte la implementación de esta nueva librería algo que junto a la modularidad anteriormente comentada añadirá una gran flexibilidad a Java.
JVM y Optimización (JEP 197,JEP 199)
Otra de las cosas en las que se esta haciendo especial hincapié es en optimizar todavía mas la JVM en dos áreas fundamentales. En primer lugar la cache de código (JEP 197) y en segundo lugar optimizando el compilador (JEP 199). De esta manera también se avanzará en otro de los aspectos en los que Node.js compite como es el tema de rendimiento.
En GenBetaDev:Java8