Java8 vs java9

Java8 vs java9

Java 8 vs Java 9: ​​Améliorations en Java 9 que vous devez connaître

De nombreux développeurs se tourneront vers Java pour créer des applications. Comme nous le savons tous, Java est incroyablement polyvalent, facile à utiliser, sécurisé, fiable et surtout, il est indépendant de la plate-forme. Java a une suite de plus de 6.5 millions de développeurs dans le monde. En tant que tel, c'est le langage parfait à utiliser car le matériel de référence est également abondant.

Néanmoins, Java a continué à grandir et à évoluer au fil des ans. Créé par Sun Microsystems en 1995, Java a continué à prouver sa fiabilité. La construction précédente de Java qui est utilisée depuis le 18 mars 2014 était Java SE 8. Quand il a été dévoilé, les critiques ont déclaré que c'était une œuvre d'art, une sortie de flux de changements dans les API. Maintenant, il y a un nouvel enfant sur le bloc. Java 9 fraîchement frappé est enfin là. Dévoilé le 21 septembre 2017, Java SE 9 devrait secouer notre façon de faire les choses et la façon dont les développeurs créent des applications.

En raison de l'incroyable agilité et de la polyvalence de Java 8, les entreprises ont créé des solutions incroyables pour des industries telles que les soins de santé, les fintech et d'autres secteurs majeurs. Java 9, en revanche, promet de s'appuyer sur cela et d'offrir des fonctionnalités entièrement nouvelles aux développeurs.

Alors, jetons un coup d'œil à ce qui est nouveau dans Java 9.

Project Jigsaw

C'est l'un des points forts de Java 9. Fondamentalement, Project Jigsaw est le nom donné à la modularisation de Java. Au fur et à mesure que les morceaux de puzzle se réunissent pièce par morceau pour créer une image plus grande, la modularité de Java 9 aussi. Cela signifie que le code est divisé en parties (modules) en raison des tâches ou des fonctionnalités à exécuter. Il s'agit d'un énorme pas en avant car la modularisation rend non seulement la réutilisation du code beaucoup plus confortable, mais aussi la gestion et le débogage sont simples. Pour cette raison, nous constatons que les développeurs vont avoir plus de facilité à créer des applications avec Java 9 qu'avec toute autre construction précédente.

Un autre avantage de la modularisation est que les développeurs peuvent désormais créer des applications légères et évolutives. Surtout avec l'Internet des objets qui continue de croître, nous trouverons plus de telles applications écrites en Java.

JEP 222: jshell: La coquille java

Java 9 propose la nouvelle boucle de lecture-Eval (REPL). Après avoir été dans sa phase de développement dans le cadre du projet Kulia, cette fonctionnalité a finalement été publiée au public. Cette nouvelle fonctionnalité est un outil interactif utilisé pour tester les expressions, les déclarations et les déclarations écrites en Java. L'objectif principal de l'API et de l'outil JShell est de donner au développeur une chance de tester les fonctionnalités mentionnées ci-dessus dans l'état de Shell. Il s'agit principalement de codage et d'investigation rapides, par lesquels les expressions et les déclarations n'ont pas besoin d'être à leur tour à l'intérieur d'une méthode et de méthodes, ne doivent pas être à l'intérieur d'une classe. De cette façon, un développeur peut rapidement analyser des éléments de code et voir s'ils apporteront l'effet souhaité.

L'outil JShell aura une interface de ligne de commande avec les fonctionnalités suivantes:

  • Définition et importations prédéfinies confiantes.
  • Une histoire avec des capacités d'édition
  • Ajout automatique des demi-terminaux nécessaires

Améliorations du compilateur

Pour s'assurer que les applications s'exécutent plus rapidement, Java 9 a enrôlé une nouvelle technologie appelée compilation à l'avance (AOT). Cette technologie, bien que dans ses phases expérimentales, permet aux classes Java d'être compilées en code natif avant même d'être lancé dans les machines virtuelles. Les possibilités de cela sont infinies. Cependant, l'utilisation la plus immédiate de cette technologie est d'améliorer le temps de démarrage pour les grandes et petites applications sans aucune dissuasion dans les performances de pointe.

Rétrospectivement, Java 8 utilise des compilateurs juste à temps (JIT). Ces compilateurs sont rapides mais prennent un peu plus de temps avant de se réchauffer. Cela peut être sans conséquence pour les petits programmes ou les applications car il n'y a pas beaucoup de code à compiler. Cependant, pour les plus grandes applications, le récit est assez différent. Le réchauffement d'un compilateur juste à temps a besoin, ce qui signifie que certaines méthodes ne sont pas compilées, affaiblissant ainsi les performances de l'application.

La deuxième phase du déploiement de compilation intelligente est l'amélioration de la portabilité et de la stabilité de l'outil Javac. L'amélioration de cet outil lui permet d'être utilisé directement dans le JVM (Java Virtual Machine) comme paramètre par défaut. En dehors de cela, l'outil a été généralisé d'une manière qui permet aux développeurs de l'utiliser même en dehors de l'environnement JDK. Pour les développeurs, c'est un gros problème car Java peut être utilisé dans des projets plus grands qui peuvent facilement être adaptés sans se soucier de la compatibilité. Une autre mise à jour cruciale est la compatibilité en arrière du compilateur Javac dont la seule fonction est de compiler les applications et les programmes créés à l'aide de Java 9 pour fonctionner également sur des versions Java plus anciennes.

Meilleur soutien javascript

Alors que JavaScript continue de prendre de l'élan et de devenir un favori pour beaucoup, JDK 9 a permis d'intégrer JavaScript dans les applications Java. Tout cela se fait avec l'aide de Project Nashorn dont l'objectif principal était de créer des performances et légèrement le runtime JavaScript en Java. Bien sûr, cela a été livré lorsqu'ils ont fourni un moteur JavaScript dans JDK version 8. Maintenant dans la version 9, il y a une API d'analyse dont la cible est l'ordre de syntaxe ECMAScript de Nashorn. Ce que fait cette API, c'est permettre l'analyse du code ECMAScript par des frameworks et des IDE côté serveur sans avoir à compter sur les classes de mise en œuvre internes de Project Nashorn.

G1 comme collectionneur de ordures

Contrairement à la croyance populaire, Java n'en a pas un, mais quatre collectionneurs à ordures. Ces collectionneurs de déchets ne sont pas créés égaux et en tant que tels, le choix du mauvais signifiait avoir des problèmes de performances dans l'application. Dans Java 8, le collecteur de déchets par défaut était le collecteur parallèle / débit. Ce collecteur de déchets a été remplacé par son prédécesseur le collectionneur de déchets (G1). Étant donné que le collectionneur G1 a été conçu pour soutenir efficacement des tas de plus de 4 Go, c'est le collecteur de déchets parfait pour les applications à petite et à grande échelle.

Mises à jour de l'API

Dans cette nouvelle version de Java Development Kit, plusieurs mises à jour ont été faites aux API et nous discuterons des plus notables.

Le tout premier est les mises à jour de concurrence Java 9 qui ont Java.user.concurrent.Flux et fonctionnalité complets. Visant à résoudre le problème qui est à la pression. Flow est la mise en œuvre par Java de l'API réactive Streams qui vise essentiellement à résoudre le problème de la contre-pression. La pression du dos est l'accumulation de données qui se produisent lorsque le taux de demandes entrantes est supérieure à la capacité de traitement de l'application. À long terme, c'est un problème car l'application se retrouve avec un tampon de données non transformées. Cette mise à jour signifiera une meilleure gestion des délais d'expiration, des retards et de la sous-classe.

La sécurité fait partie de l'identité principale de Java. En tant que tel, le support du HTTP 2 nouvellement approuvé.0 RFC est un énorme plus. Http 2.0 RFC a été construit sur l'algorithme SPDY de Google qui a déjà commencé à porter des fruits avec des améliorations de vitesse allant de 11.81% à 47.7% par rapport au HTTP 1 précédent.1. Cette API client est une mise à niveau des protocoles HTTP principaux et de l'API HttpurlConnection qui est problématique, pour le moins car il a été fabriqué avant même HTTP 1.

La mise en cache du code a toujours été une stratégie utilisée pour faire des applications plus rapidement et plus lisses au fil des ans. Cependant, ce n'est pas sans ses limites, et cela n'est pas passé inaperçu. Une mise à jour de Java 9 montre clairement JDK 9 divisant les codes mis en cache en parties plus petites, améliorant ainsi les performances globales. JDK 9 utilise des itérateurs spéciaux pour ignorer le code non méthodiste; séparer le code profilé, non profilé et non méthode; et améliorer certains repères pour le temps d'exécution.

Avantages de Java 9

Pour de nombreux propriétaires d'entreprise, il n'y a pas de différence entre Java 8 et 9. Cependant, pour le développeur, il y a un monde de différence. Ce sont les avantages que Java SE 9 a sur ses prédécesseurs.

  • La vitesse de développement sera considérablement augmentée grâce au système de modules qui sont non seulement plus faciles à gérer et à déboguer, mais aussi à signifier réutilisable que vous n'avez pas à écrire tout le code à partir de zéro.
  • Améliorer l'efficacité des ressources pour les applications de la modularisation et la réalisation des ressources pour être plus simple, car les développeurs ne prendront que les modules nécessaires au lieu de JRE entier.
  • Analyse en temps réel des extraits de code tels que les micro-références utilisées pour examiner les performances des petits morceaux de code.

Sources

http: // openjdk.Java.net / jeps / 251
https: // www.romexoft.com / blog / java-8-vs-java-9 /
https: // blogs.oracle.com / java / fonctionnalités en java-8 et 9
https: // dzone.com / articles / 5-features dans java-9-that-will-change-how-you-deve

https: // linuxhint.com / eclipse-java-tutorial /