Sélectionner une page

En septembre, Oracle a publié Java SE 9 avec plus de 150 nouvelles fonctionnalités. La dernière version du langage de programmation largement utilisé est fournie avec plusieurs nouvelles fonctionnalités et API pour accélérer le développement d'applications pour les grands et les petits appareils. Dans le même temps, les fonctionnalités fournies par Java 9 aident les programmeurs à améliorer les performances, la sécurité et la facilité de maintenance des applications. Ici, il est essentiel que les programmeurs comprennent certaines des fonctionnalités clés fournies par Java 9.

Ce que les programmeurs doivent savoir sur Java 9?

Système de module

Les développeurs peuvent désormais utiliser Better Support pour HTML5 et JavaScript pour diviser JDK en plusieurs modules. Chaque fichier JAR modulaire contient un descripteur de module. Les développeurs peuvent définir l’interdépendance de divers modules au moyen d’énoncés requis. La modularité permet aux programmeurs d’exécuter facilement des modules JVM sur des petits périphériques dépourvus de mémoire supplémentaire. Dans le même temps, ils peuvent également exécuter uniquement les API et les modules JVM requis par l'application.

Compilation à l'avance

Java 9 Améliore considérablement le processus de compilation du code grâce à la compilation à l'avance (AOT). Les programmeurs peuvent tirer parti de la compilation AOT pour compiler les classes Java en code natif avant même que la machine virtuelle ne les lance. La compilation AOT améliore les performances des applications grandes et petites en surmontant les principales lacunes de la compilation juste à temps (JIT). Contrairement à la compilation JIT, la compilation AOT garantit qu'aucune méthode Java ne reste non compilée.

Outil Real-Eval-Print-Loop

Java 9 est livré avec un nouvel outil de ligne de commande, REPL (real-eval-print-loop): Shell. Shell est conçu avec des fonctionnalités pour évaluer les déclarations et les expressions déclaratives de manière interactive. Un programmeur peut utiliser Shell pour évaluer la qualité du code Java avant la compilation. Il peut simplement entrer un morceau de code et recueillir des commentaires. Shell a même la capacité de compléter les onglets et d’ajouter automatiquement les points-virgules requis. Le nouvel outil REPL met Java en concurrence avec les langages de programmation largement utilisés tels que Python et Scala.

Meilleur support pour HTML5 et JavaScript

L'outil de documentation Javadoc amélioré fourni par Java 9 permet de générer un balisage HTML5. En outre, la dernière version du langage de programmation prend en charge plusieurs nouveaux caractères, blocs et scripts dans le cadre de la norme de codage Unicode 8.0. Dans le même temps, Java 9 est fourni avec un moteur JavaScript léger et amélioré qui permet aux programmeurs d’incorporer plus facilement du code JavaScript dans des applications Java. Les développeurs peuvent également activer l’analyse de code ECMAScript dans divers IDE et frameworks directement avec l’API du compilateur pour l’arborescence de la syntaxe ECMAScript de Nashorn fournie par JDK.

API Stream améliorée

Lors de l'écriture de code Java, les programmeurs utilisent des chaînes pour exprimer des calculs. Java 8 accélère le traitement des flux en fournissant l’API Streams. Java 9 est fourni avec une version améliorée de l'API Streams qui permet aux développeurs de prendre et de supprimer des éléments de Stream en fonction de conditions spécifiques en ajoutant des méthodes. En outre, l'API Streams améliorée est conçue avec des fonctionnalités permettant de créer un flux pour une valeur nullable et une itération sur des éléments Stream.

API d'images multi-résolutions

Java 9 introduit une nouvelle interface – MultiResolutionImage – pour créer une seule image multi-résolution en encapsulant plusieurs images avec différentes résolutions. Les développeurs peuvent en outre utiliser l’API d’image multi-résolution fournie par Java 9 pour obtenir diverses variantes d’une même image. En outre, ils peuvent utiliser l'API pour sélectionner une image particulière en fonction de la résolution requise. Ici, les programmeurs Java peuvent désormais utiliser une seule API pour créer une image unifiée à plusieurs résolutions et obtenir des variantes d'image spécifiques à la résolution.

http: // 2 API client

Java 9 a complètement changé la façon dont les applications effectuent des appels HTTP. Il remplace l'API HttpURLConnection par une nouvelle API client HTTP. L’API client HTTP prend en charge les deux http: // 2 et WebSockets. Toutefois, l’API ne fait actuellement pas partie de Java SE. Il est implémenté en tant que module d'incubateur qui réside dans l'espace de noms jdk.incubtor. Mais l’API client HTTP prend en charge les normes de communication les plus récentes, tout en palliant les faiblesses de l’API HttpURLConnection.

API Stack-Walking

Tout en écrivant du code Java, les programmeurs explorent des moyens d’accéder et de filtrer efficacement les transes de pile. La dernière version de Java simplifie la marche en pile en fournissant l'API Stack-Walking. La nouvelle API facilite l’accès et le filtrage des informations de trace de pile aux programmeurs. Il prend également en charge les promenades courtes et longues. Ici, il devient plus facile pour les programmeurs d’accéder à la pile entière et de la filtrer sans s’appuyer sur la machine virtuelle pour capturer les informations de la pile.

API DTLS (Datagram Transport Layer Security)

Java 9 aide les développeurs à créer des applications sécurisées en fournissant une API pour Datagram Transport Layer Security (DTLS). L'API sécurise la communication client et serveur en éliminant les risques de falsification des données, de falsification de messages et d'écoute électronique. En outre, il assure la confidentialité des communications à diverses applications utilisant le protocole de transport de datagramme (Datagram Transport Protocol). Bien qu’il soit développé sur la base de TLS (Transport Layer Security), DTLS implémente le protocole SSL.

API de processus améliorée

Les programmeurs Java trouvent souvent difficile de contrôler et de gérer les processus du système d'exploitation. L'API de processus fournie par les versions précédentes des développeurs pour accéder au code natif et écrire du code supplémentaire. Cependant, l’API améliorée de Process fournie par Java 9 facilite le contrôle et la gestion des processus du système d’exploitation par les programmeurs. Ils peuvent utiliser l'API pour faire en sorte qu'une application Java interagisse directement avec le système d'exploitation. Ils peuvent également tirer parti des nouvelles méthodes pour gérer les noms de processus et les états sans écrire de code supplémentaire.

Fonctions obsolètes

Après avoir fourni plusieurs nouvelles fonctionnalités, Java 9 ne prend pas en charge certaines des fonctionnalités fournies par Java 8. Par exemple, il ne prend plus en charge l’API d’applet. le Développeurs Web Java passer de l’API d’applet à Java Web Start pour lancer des applications à partir de navigateurs Web. De même, Java 8 accélère le développement de garbage collectors dans la machine virtuelle HotSpot en rendant obsolètes les garbage collectors (Concurrent Mark Sweep (CMS)). Lors de l'utilisation de la version la plus récente de Java, les programmeurs n'ont également pas la possibilité de recevoir des avertissements Java sur les instructions d'importation et de sélectionner JRE au moment du lancement.

Dans l'ensemble, Java 9 intègre plusieurs nouvelles fonctionnalités pour simplifier le développement d'applications pour les grands et les petits appareils. Toutefois, certains fichiers binaires et sources introduits par Java 9 ne sont pas compatibles avec les versions antérieures du langage de programmation. Les programmeurs doivent même apporter plusieurs modifications au code et mettre à niveau les bibliothèques lors de la migration des applications existantes vers Java 9. Cependant, les développeurs doivent envisager de mettre à niveau leurs applications existantes vers Java 9 pour tirer parti de ces nouvelles fonctionnalités et améliorations. Les développeurs Java doivent également utiliser ces outils hautement recommandés pour une meilleure programmation.



Auteur : Alexis Kuperfis