Acaba de ser publicada la versión 10 de Java. Esta es la primera versión del nuevo mecanismo de publicación de versiones más frecuente y con una cadencia, más o menos, fija. Así que las novedades, para ser un cambio de versión mayor, no son muchas. No es tampoco una de las importantes versiones LTS con soporte extendido, eso le tocará a la futura Java 11.

Sin más, algunas de las novedades de Java 10.

Inferencia de tipos para variables locales

La novedad que, sin duda, más me gusta de esta nueva versión. Va a conseguir una claridad del código fuente notable.

    var list = new ArrayList<String>();  // infers ArrayList<String>
    var stream = list.stream();          // infers Stream<String>

Por supuesto sólo se podrá usar en variables locales junto con un inicializador, índices en bucles for, etc. pero no en todas partes. Tampoco es su objetivo.

Cambios internos

Java 10 introduce también algunos cambios internos como la paralelización del colector de basura G1 o la compartición de datos a nivel aplicación (Application Class-Data Sharing).

Referencias