Fermer

avril 29, 2019

Java 12 – À quoi s'attendre et comment se préparer


Maîtrise intelligente des modifications et des fonctionnalités de Java 12

Plongée dans les domaines les plus critiques de la programmation Java – Le langage Java, les bibliothèques, la JVM et d’autres fonctionnalités pertinentes du JDK, Java 12 ont mis au point de nouvelles fonctionnalités les utilisateurs auront soif d'acceptation dans ces sections clés.

Avec la sortie de Java 12 en mars 2019, il est conseillé à tous les utilisateurs de déployer leurs applications sur la version la plus récente de Java. Cela aidera toute la communauté des technologies, en particulier les utilisateurs du langage Java, à maintenir leur savoir-faire en matière de programmation à jour et à élargir leur point de vue sur l'ensemble des améliorations et des modifications apportées aux performances apportées par Java 12.

Certains des plus grands avantages que vous pouvez attendre de la nouvelle version de Java 12 et comment vous préparer à une performance accélérée sont les suivants:

  • Processus de codage plus simple. Par exemple, la nouvelle instruction / expression 'switch'.
  • Présentation de la modélisation API de constantes JVM pour le fichier de classe clé et les entités d'exécution, permettant de manipuler les classes et les méthodes.
  • Introduction d'un nouveau collecteur nommé 'teeing 'qui utilise la méthode de calcul pour évaluer la moyenne des paramètres d'entrée.
  • La collecte des ordures ménagères a été simplifiée grâce à la réduction des temps de pause et de la segmentation, quelle que soit la taille du segment de mémoire, que jamais auparavant avec JDK 12.
  • The new AArch 64 port à deux bits, éliminant le besoin de deux pour améliorer l'efficacité et éliminer les travaux redondants.
  • Favorise l'exécution simplifiée des points de repère existants et l'ajout de nouveaux éléments dans une nouvelle suite de JDK 12.

Lecture connexe: [19659012] Trouvez une liste complète des tendances JAVA déployées cette année.

Tout d'abord, il existe des différences, des améliorations, certaines API et fonctions supprimées et certaines autres obsolètes. Préparons-nous à une plongée dans les fonctionnalités et les modifications de Java 12:

Le support Unicode 11.0.0

La version précédente de JDK 11 supportait Unicode 10.0.0. Avec la sortie de JDK 12, les changements les plus importants sont les suivants:

  1. Ajout de 684 nouveaux caractères (66 emojis, symbole copyleft, demi-étoiles pour les systèmes de notation, symboles d’échecs chinois, symboles astrologiques, etc.)
  2. 7 nouveaux scripts (nommément Hanifi Rohingya, Sogdian, Dogra, Makasar, Medefaidrin, etc.)
  3. 11 nouveaux blocs (7 pour les nouveaux scripts et 4 pour les scripts existants, tels que les chiffres mayas et les symboles des échecs).

API JVM Constants

La nouvelle Le paquetage java.lang.invoke.constant introduit avec Java 12 crée cette nouvelle API et est utilisé pour modéliser les descriptions nominales du fichier de classe et des entités d'exécution, en particulier les constantes chargées à partir du pool de constantes. Cette API contiendra des classes telles que ConstantDesc, ClassDesc, etc.) qui incluent les informations permettant de décrire les constantes du pool de constantes.

Prise en charge de la mise en forme compacte des nombres

Cette fonctionnalité prend en charge la mise en forme numérique des nombres. Ces formats sont définis par les formats de nombres compacts de LDML . Par exemple, dans les paramètres régionaux en_US, 1000 peut être formaté en «1K». Pour cela, les méthodes d'usine de NumberFormat sont utilisées pour obtenir les instances décrites dans l'exemple ci-dessus.

Z Garbage Collector

Le ZGC a commencé à prendre en charge la fonctionnalité de déchargement de classe avec l'arrivée de Java 12. Désormais, les structures de données sont liées. aux classes déchargées peuvent être libérées. Ceci a lieu sans impact sur les temps de pause du ramasse-miettes et n’interfère pas non plus avec l’exécution des threads de l’application. Cette fonction est activée par défaut.

Expressions de commutateur bêta

Les techniques de correspondance de modèle ont été largement utilisées pour résoudre les problèmes liés à l'instruction switch. Cela incluait le bloc de commutateur à portée unique par défaut, le comportement des blocs de commutateur en termes de flux et également lorsque l'instruction de commutateur fonctionnait comme une seule instruction. L’instruction switch utilise la sémantique non-volatile, qui est sujette aux erreurs.

Avec Java 12, l’instruction switch utilise l’expression ‘lambda’ pour renvoyer l’instruction switch. Cela supprime la nécessité des déclarations break habituelles. En outre, le commutateur est traité comme une expression. En d'autres termes, il peut avoir une valeur ou renvoyer une valeur.

Lecture connexe: Découvrez quelques astuces pour faciliter le développement d'applications Android.

Restaurez rapidement la mémoire validée non utilisée de G1

JDK 11 était compatible avec G1, capable de restituer une partie de la mémoire dédiée au système d'exploitation pour que d'autres applications puissent s'exécuter. Mais il ne pourrait le faire que pendant des cycles simultanés. Avec Java 12, G1 est capable de conserver la mémoire dédiée pendant une période plus longue, c'est-à-dire pendant une collection complète.

Cela est dû au fait que, lorsque la mémoire utilisée est faible, ce qui entraîne une inactivité des applications, G1 tente de continuer ou déclenche un cycle simultané pour évaluer l'utilisation globale du segment de mémoire Java. Avec cela, la mémoire inutilisée est maintenant renvoyée à temps au système d'exploitation. Cette fonctionnalité promet une utilisation plus stable de la mémoire pour la machine virtuelle Java.

Shenandoah: Algorithme de GC avec temps de pause réduit

Shenandoah est un ramasse-miettes qui vise à réduire les temps de pause car ici, les temps de pause sont indépendants de la taille du tas. . Cette fonctionnalité a été implémentée et prise en charge par RedHat pour aarch64 et amd64.

L'algorithme de Shenandoah garantit des temps de réponse faibles, c'est-à-dire que l'extrémité inférieure est comprise entre 10 et 500 ms.

Archives CDS par défaut

L'archive de la classe Data-Sharing (CDS) est construite dans le but d'améliorer le processus de génération JDK. Elle est effectuée avec la liste de classes par défaut sur la plate-forme 64 bits. Il a un meilleur temps de démarrage, évite d'avoir à exécuter la liste de classes par défaut -Xshare: dump.

Pour utiliser CDS, une archive qui charge les classes au démarrage d'une application est requise. Le fichier classes.jsa du répertoire lib / server est désormais disponible avec JDK 12.

Suite Microbenchmark (JEP 230)

Le Java Microbenchmarking Harness (JMH) a été développé pour fournir un cadre riche permettant de développer des critères de performances pour Applications Java. Il simplifie l'exécution des tests existants et permet également la création de nouveaux. Il est basé sur le faisceau Java Microbenchmark (JMH) et permet de tester facilement les performances du JDK.

La fonctionnalité de démarrage comprend environ 100 tests de performance.

Un port Aarch 64 (JEP 340)

Java 12 ne prend désormais en charge qu'un seul port pour les processeurs ARM 64 bits. Ceci permet de supprimer le travail redondant nécessaire pour 2 ports, car le JDK 11 avait deux ports pour le même. L’objectif principal est de se débarrasser de toutes les sources du port arm64, tout en préservant le port ARM 32 bits et le port aarch64 64 bits.

Java 12 rend le monde de la programmation encore meilleur avec ces changements nouveaux et significatifs. En plus d'améliorer les performances des applications, Java 12 propose une nouvelle gamme de fonctionnalités supplémentaires. Lisez nos derniers articles pour savoir comment Java 12 forme un nouveau paradigme pour balayer le monde du développement d'applications! Pour savoir comment tirer parti des dernières tendances JAVA pour votre entreprise, contactez nos experts en informatique aujourd'hui !




Source link