Nouveautés et historique Java

- 2012 :  Java 7

NIO2  Path, Files, Glob, WatchService, DirectoryStream, walkFileTree

le projet Coins : try with resources, exceptions multiples dans catch, operateur diamant, String dans switch, underscore dans les littéraux

- 2014 : Java 8

les expressions Lambda et les références de méthode

approche fonctionnelle du traitement de données avec l'api stream

api Date $ Time

les méthodes par défaut et static dans les interfacesles classes optional

les annotations répétées

- 2017 : Java 9

@SafeVarags

l’opérateur diamant sur les classes anaonymes

try with resources : utilisation directe de variables explicitement final

Jshell : outil de type REPL

API Process : interface ProcessHandle

Fabriques statiques pour collections immuables

VarHandle : opérations atomiques/ordonnées via une réf typée à une variable

Stackwalking API

Flow API (Reactive Streams)

Les modules (la mise en oeuvre implique des contraintes  ruptures visibilité, accessibilité, organisation du code) mais la modulisation n'est pas obligatoire. Vous pouvez personnaliser le JRE via l'outil jlink.

- 2018 Mars: Java 10

Faciliter la définition des variables et nouvelles opportunités avec les classes anonymes

Type inféré est parfois surprenant comme var liste = List.of("test",1);

- 2018 Septembre: Java 11 (LTS)

Support HTTP1.1 et 1.2, websockets, synchrone et asynchrone

JDK flight recorder

exécution directe d'un unique fichier java par la jvm sans compilation préalable

 

 

Leave a Reply

Your email address will not be published. Required fields are marked *