Nouveautés de Java 9
Java 9 a été publié le 22 septembre 2017, apportant de nombreuses nouvelles fonctionnalités, le changement le plus important étant le système modulaire mis en œuvre. Ensuite, nous présenterons en détail les nouvelles fonctionnalités de Java 9.
Nouveautés de Java 9
- Système de modules: Un module est un conteneur pour les packages. L'un des plus grands changements dans Java 9 est l'introduction du système de modules (Projet Jigsaw).
- REPL (JShell): Environnement de programmation interactif.
- Client HTTP 2: La norme HTTP/2 est la dernière version du protocole HTTP. La nouvelle API HTTPClient prend en charge les flux WebSocket et HTTP2 ainsi que les fonctionnalités de push serveur.
- Javadoc amélioré: Javadoc prend désormais en charge la recherche dans la documentation de l'API. De plus, la sortie Javadoc est désormais conforme aux normes HTML5.
- Fichiers JAR multi-release: La fonctionnalité JAR multi-release vous permet de créer des versions de classes qui ne sont sélectionnées que lors de l'exécution de programmes de bibliothèque dans des versions spécifiques de l'environnement Java.
- Méthodes de fabrique de collections: Dans les interfaces List, Set et Map, de nouvelles méthodes de fabrique statiques peuvent créer des instances immuables de ces collections.
- Méthodes privées dans les interfaces: Utilisez des méthodes privées dans les interfaces. Nous pouvons utiliser le modificateur d'accès private pour écrire des méthodes privées dans les interfaces.
- API Process: API améliorée pour contrôler et gérer les processus du système d'exploitation. Elle introduit java.lang.ProcessHandle et son interface imbriquée Info pour aider les développeurs à échapper au dilemme de devoir utiliser du code natif pour obtenir le PID d'un processus local.
- API Stream améliorée: L'API Stream améliorée ajoute des méthodes pratiques, ce qui simplifie le traitement des flux et permet d'écrire des requêtes complexes à l'aide de collecteurs.
- try-with-resources amélioré: Si vous disposez déjà d'une ressource qui est final ou effectivement final, vous pouvez utiliser cette variable dans une instruction try-with-resources sans déclarer une nouvelle variable dans l'instruction try-with-resources.
- Annotation @Deprecated améliorée: L'annotation @Deprecated peut marquer le statut d'une API Java, indiquant que l'API marquée sera supprimée ou est déjà cassée.
- Opérateur diamant amélioré: Les classes anonymes peuvent utiliser l'opérateur diamant.
- Classe Optional améliorée: java.util.Optional ajoute de nombreuses nouvelles méthodes utiles. Optional peut être directement converti en un stream.
- API d'images multi-résolution: En définissant une API d'images multi-résolution, les développeurs peuvent facilement manipuler et afficher des images de différentes résolutions.
- API CompletableFuture améliorée: Le mécanisme asynchrone de la classe CompletableFuture peut exécuter des opérations lorsque la méthode ProcessHandle.onExit se termine.
- JSON léger: Une API légère est intégrée.
- API Reactive Streams: Java 9 introduit une nouvelle API Reactive Streams pour prendre en charge la programmation réactive dans Java 9.
Pour plus de nouvelles fonctionnalités, veuillez consulter le site officiel :Nouveautés de JDK 9
Adresse de téléchargement de JDK 9 :http://www.oracle.com/technetwork/java/javase/downloads/jdk9-doc-downloads-3850606.html
Dans les exemples de l'article sur Java 9, nous utilisons tous l'environnement JDK 1.9. Vous pouvez utiliser la version actuelle du JDK pour afficher la date ?
$ java -version java version "9-ea" Java(TM) SE Runtime Environment (build 9-ea+163) Java HotSpot(TM) 64-Bit Server VM (build 9-ea+163, mixed mode)Ensuite, nous présenterons en détail les nouvelles fonctionnalités de Java 9 :