Java SE 7 Update 1

Oracle acaba de publicar el update 1 del JAVA SE7, donde los bugs más notables son los del compilador hotspot.

Pueden encontrar una lista completa en:

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.
Imagen de ezamudio

Lucene

El bug que encontraron los de Apache Lucene supuestamente ya está arreglado en esta versión. Tal vez muchos pensaron que era una exageración, pero al ver los detalles del mismo, a mí sí se me hacía un dealbreaker como para probar la JVM 7 en producción con sistemas grandes, pues no se me hace del otro mundo el código que causaba el bug.

Seguramente no es perfecta la JVM todavía pero con correcciones a cosas tan notorias ahora sí ya podemos probarlo de nuevo. La verdad los que creo que más se beneficiarán de las novedades de la JVM 7 serán lenguajes como Groovy y Scala, en particular Groovy cuando puedan utilizar la nueva instrucción invokedynamic, y Scala cuando puedan utilizar el ForkJoin incluido en Java en vez de su propia implementación.

Mientras tanto en mi ambiente de pruebas/staging ya está la JVM 7, aunque todas las apps siguen siguendo compiladas en Java 6.

Imagen de benek

Transición

Que bien que ya esté corregido, yo tampoco me aventuraría a mover los desarrollos a Java 7 desde ya, aunque es versión mayor siempre hay una transición. No es lo mismo que actualizar el SO de tu estación de trabajo o la versión de Chrome o Firefox.

Imagen de ezamudio

Runtime

Los cambios de 1.4 a 5 y de 5 a 6 los hice primero probando que las apps compiladas en la version anterior corrieran bien en la version nueva.

El cambio de 1.4 a 5 fue algo drastico por la introduccion de Generics, aunque al final el código quedó mejor, y pues luego aprovechar las cosas nuevas como java.util.concurrent.

El cambio de 5 a 6 en mi caso fue completamente transparente. Creo que nunca entendi cuáles fueron las novedades de Java 6, fuera de algunas mejoras en performance de la JVM. Y de entrada, parece que así será el cambio a Java 7, hasta que pueda ver la manera de sacarle provecho al ForkJoin y cosas así.

Y la verdad, creo que es mejor así, porque entonces puedes empezar a beneficiarte de usar la JVM 7 por el performance aunque tus clases sigan compiladas en Java 6, y luego puedes abrir tu código y compilarlo con Java 7 sin tener que cambiar nada, y de ese modo puedes de manera gradual comenzar a modificar lo que necesites, y el código nuevo escribirlo ya aprovechando las cosas nuevas de Java 7. No tiene caso modificar código existente para meter operador diamante por ejemplo, o multicatch, pero sí vale la pena que el código nuevo una vez que ya estés usando Java 7, lo escribas usando esas nuevas ventajas.

Imagen de Algus Dark

En ambientes de prueba

Yo estaba esperando el update por lo que habían dicho del problema que había encontrado Lucene. En lo personal me estoy aventurando en desarrollar sobre JAVA 7 con programas personales, tratando de jugar un poco para ver cómo puedo aprovechar las nuevas cosas que han implementado.

Java SE 7 hasta Abril 2015

 

Hace poco me encontré con la siguiente notificación:

A partir de abril de 2015, Oracle no publicará actualizaciones de Java SE 7 en sus sitios de descarga pública. Las descargas de Java SE 7 que se hayan publicado hasta esa fecha seguirán estando disponibles en la página de Archivos Java en Oracle Technology Network. Se recomienda tanto a los desarrolladores como a los usuarios finales que actualicen a las versiones más recientes de Java SE aún disponibles para descarga pública con el fin de continuar recibiendo actualizaciones públicas y mejoras de seguridad.

Lo cual no es sorprendente teniendo en cuenta que la última actualización pública disponible para Java SE 5.0 fue en Octubre de 2009 y la de Java SE 6 fue en Febrero de 2013. Por cierto, hay una fecha probable para Java SE 8 en Marzo 2017.

No obstante, si eres cliente de Oracle, tienes hasta 11 años de soporte desde la primera liberación para cada versión.


UPDATE

Según Oracle, si eres cliente y dependiendo del tipo de contrato, el soporte podría ser tan largo tanto como tú sigas utilizando esa versión.

~~~