Le 18 mars est sortie la dernière version de Java en version GA (General Availability). Beaucoup de nouveautés pour cette version majeure dont :
- les lambda expressions (JSR 335)
- les interfaces fonctionnelles : @FunctionalInterface
- opérateur :: permettant la référence de méthode / constructeur (MyClass::MyMethod)
- les méthodes statiques dans les interfaces : rendant les classes utilisateurs obsolètes
- nouveau moteur Javascript Nashorn (JEP 174) : successeur de Rhino
Nouvelles API :
- API de gestion du temps (JSR 310) : inspirée de JodaTime
- API stream : permettant notamment de faciliter et chaîner les opérations sur les collections
- java.util.function : package d’interfaces fonctionnelles (Predicate, Supplier, Consumer…)
Un absent au tableau : Jigsaw, encore une fois repoussé et sera vraisemblablement présent pour la version 9. Une fois en place, Jigsaw permettra de casser la structure monolithique de Java pour le rendre modulable.
Java 8 se donne un nouveau souffle et essaie de rattraper son retard pris par rapport aux langages dynamiques/fonctionnels (Scala, Groovy, JRuby…).