Java 9 - Présentation
JAVA 9 (alias jdk 1.9) est une version majeure du développement du langage de programmation JAVA. Sa version initiale a été publiée le 21 septembre 2017. Les principaux objectifs de la version Java 9 sont −
-
Rendre la plate-forme JDK et Java Standard Edition modulaire dans le sens où elle peut être réduite à de petits appareils informatiques.
-
Améliorer la sécurité globale des implémentations JDK et Java.
-
Pour faciliter le processus de construction et la maintenance des bibliothèques de code Java et des applications volumineuses pour les plates-formes JAVA SE et EE.
-
Concevoir et implémenter un système de module standard pour la plate-forme Java qui peut être appliqué facilement à la fois à la plate-forme et au JDK.
Nouvelles fonctionnalités
Il y a plus de 90 améliorations ajoutées à Java 8, les plus importantes sont mentionnées ci-dessous −
-
Module − Un nouveau type de composant de programmation Java introduit en tant que module, qui est une collection nommée et auto-descriptive de code et de données.
-
REPL (JShell) − Fonction Read-Eval-Print Loop (REPL) ajoutée à la plate-forme Java.
-
Client HTTP 2 − nouvelle API HTTPClient prenant en charge les websockets et les flux HTTP 2 et les fonctionnalités push du serveur.
-
JavaDocs améliorés − Prend en charge la génération de sortie HTML5. Fournit une zone de recherche à la documentation de l'API générée.
-
JAR multiversion − Améliore le format JAR afin que plusieurs versions de fichiers de classe spécifiques à la version Java puissent coexister dans une seule archive.
-
Méthodes d'usine de collecte − Nouvelles méthodes de fabrique statique pour les interfaces List, Set et Map afin de créer des instances immuables de ces collections.
-
Méthodes d'interface privée − Interfaces améliorées avec des méthodes statiques privées et privées.
-
Améliorations de l'API de processus − API améliorée pour contrôler et gérer les processus du système d'exploitation.
-
Améliorations de l'API de flux − Sécurité et robustesse accrues en permettant le filtrage des flux entrants de données de sérialisation d'objets.
-
Essayer avec l'amélioration des ressources − Désormais, les variables finales peuvent être utilisées comme ressources dans l'instruction try-with-resources.
-
Annotation @obsolète améliorée − Annotation @Deprecated réorganisée pour fournir plus d'informations sur le statut et la disposition prévue d'une API.
-
Opérateur diamant de classe interne − Autoriser l'utilisation de l'opérateur diamant avec des classes anonymes si le type d'argument du type inféré peut être indiqué.
-
Améliorations de classe facultatives − De nouvelles méthodes utiles sont ajoutées à la classe java.util.Optional.
-
API d'image multirésolution − Prend en charge l'encapsulation d'un ensemble d'images avec différentes résolutions dans une seule image multirésolution.
-
Améliorations de l'API CompleteFuture − Les mécanismes asynchrones de la classe CompletableFuture peuvent effectuer une action lorsque le processus se termine avec la méthode ProcessHandle.onExit.
-
JSON léger − Une API légère introduite pour consommer et générer des documents et des flux de données via json en java 9.
-
API de flux réactifs − Une nouvelle API Reactive Streams dans Java SE 9 a été introduite pour prendre en charge la programmation réactive dans Java 9.
Java