Autour de Java

Totorials, howto and how it works at Lebanese java Users Group and Cnam Liban

View project on GitHub

JAVA 8 a introduit les notions de programmation fonctionnelle avec les lambdas, et le framework map/reduce pipeline et stream dans le jargon Java.

#Java 9,10,11,… (tous les 6 mpis une nouvelle version…)

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 de Java 9 sont les suivants:

  • Faire en sorte que la plate-forme JDK et Java Standard Edition soit modulaire dans le sens où elle peut être parfaitement adaptée aux petits ordinateurs.
  • Améliorer la sécurité globale des implémentations JDK et Java.
  • Faciliter le processus de création et la maintenance des bibliothèques de codes 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 sur Platform et 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) - Ajout de la fonction REPL (Read-Eval-Print Loop) à la plate-forme Java.
  • Client HTTP 2 - nouvelle API HTTPClient prenant en charge les flux Web 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 un champ de recherche pour la documentation de l’API générée.
  • JAR Multirelease - Améliore le format JAR afin que plusieurs versions de fichiers de classes spécifiques à Java puissent coexister dans une seule archive.
  • Méthodes de fabrique de collections - Nouvelles méthodes de fabriques statiques pour les interfaces List, Set et Map afin de créer des instances immuables de ces collections.
  • Méthodes d’interface privées - Interfaces améliorées avec des méthodes statiques privées et privées.
  • Améliorations de l’API de processus - Amélioration de l’API 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 de filtrer les flux entrants de données de sérialisation d’objet.
  • Amélioration des ressources - Les variables finales peuvent désormais être utilisées comme ressources dans l’instruction try-with-resources.
  • Enhanced @Deprecated Annotation - Annotation @Deprecated améliorée pour fournir plus d’informations sur l’état et la disposition prévue d’une API.
  • Opérateur de diamant de classe interne - Permet à l’opérateur de diamant d’être utilisé 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.
  • Multiresolution Image API - 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 CompletableFuture - Les mécanismes asynchrones de la classe CompletableFuture peuvent effectuer une action lorsque le processus se termine avec la méthode ProcessHandle.onExit.
  • Lightweight JSON - Une API légère introduite pour consommer et générer des documents et des flux de données via json dans java 9.
  • API de flux réactifs - Une nouvelle API de flux réactifs dans Java SE 9 a été introduite pour prendre en charge la programmation réactive dans Java 9.