Sélectionner une page

Formation > Blog > Langage > Les nouveautés de Java 15

logo java 15

Après 6 mois d’attente, la nouvelle version de Java est disponible, il s’agit de Java 15 sortie en Septembre 2020. Une sortie assez prévisible, puisque les équipes de développement délivrent habituellement en Mars et Septembre. L’équipe d’Ambient IT a le plaisir de vous présenter les nouveautés de cette importante mise à jour.

 

 

 

 Nous pouvons vous proposer une formation complète de 3 jours sur Java 15. Confinement oblige, nos cours seront maintenues en Classe Virtuelle uniquement. Mais, pas de panique ! Nous travaillons comme des fous pour délivrer la meilleure expérience possible ! ( le café maison en moins, diront les mauvaises langues).

L’équipe d’AMBIENT IT

 

 

 

 

EdDSA (Edwards-Curve Digital Signature Algorithm)

L’EdDSA est une méthode de cryptographie utilisant les courbes elliptiques. Cette méthodes a de nombreux avantages par rapport aux modèles de cryptographie précédents. EdDSA est seulement implémenté dans le SunEC provider, de nouvelles fonctions y sont ajoutés comme les services Signature, KeyFactory et KeyPairGenerator. La technologie EdDSA est déjà supportée pour les crypto libraries comme OpenSSL ou BoringSSL.

 

 

 

 

 

 

 

Records

Pour éviter la répétition de codes inutiles, Java utilise désormais les Records. Cette fonction a déjà été implémentée dans Java 14 mais nécessitait plusieurs améliorations. La grande nouveauté que propose cette version de Java est le local record, le fonctionnement de ces records ressemblent aux local classes (les records sont définis par une méthode qui permet de limiter le champs d’application à cette même méthode). Contrairement aux local classes, les local records sont toujours statiques.

 

 

 

 

 

 

 

Sealed classes

Les sealed class sont introduites comme fonctionnalités en preview. Cette fonction permet à l’auteur d’une classe ou d’une interface de :

 

 

 

  • Contrôler le code responsable de sa mise en œuvre
  • Fournir un moyen plus déclaratif que les modificateurs d’accès pour restreindre l’utilisation d’une superclasse
  • Soutenir les directions futures en matière de pattern matching

 

 

 

 

Hidden classes

Les hidden classes sont des classes destinées à être utilisés par des frameworks générant des classes au moment de l’exécution et qui les utilisent indirectement par réflexion. Elles peuvent être définies comme membre d’un access control nest et peuvent être déchargées indépendamment des autres classes.

 

 

 

Avec Java 15, l’efficacité de tous les langages est améliorés en permettant à une API standard de définir des hidden classes qui ne sont pas découvrables et qui ont un cycle de vie limité. Les frameworks à l’intérieur et à l’extérieur du JDK seraient en mesure de générer dynamiquement des classes définies comme hidden. Les frameworks ont la possibilité d’en définir autant que nécessaire.

 

 

 

 

 

 

 

Z Garbage collector

 

 

 

 

Le Z Garbage Collector (ZGC) est une fonctionnalité intégrée depuis Java 11. L’ objectif de son intégration est de créer un récupérateur de mémoire scalable avec peu de latence. La taille maximum du tas est passée à 16 terabytes. Le ZGC peut ainsi servir pour des applications de machine learning disposant d’une importante quantité de données.

 

 

 

 

 

 

 

API Foreign memory access

 

 

 

 

Cette fonctionnalité permet d’accéder efficacement et en toute sécurité à la foreign memory en dehors du tas de Java. Cette API introduit trois abstractions principales : MemorySegment, MemoryAddress et MemoryLayout. L’API devrait pouvoir fonctionner sur différents types de foreign memory, tels que le tas natif, persistant et géré.
L’API permettrait d’éviter le coût et l’imprévisibilité associés à la collecte des déchets, de partager la mémoire entre les processus, de sérialiser et désérialiser le contenu de la mémoire en mappant les fichiers sur la mémoire. Avec cette mise à niveau, l’API ne devrait pas compromette la sécurité de la JVM.

 

 

 

 

 

 

 

Shenandoah

 

 

 

 

Cette fonctionnalité aussi appelé « low pause time garbage collector » n’est plus une fonction expérimentale. Elle permet de réduire les temps de pause du garbage collector en effectuant davantage de collecte au moment où le programme Java est en cours d’exécution. Le CMS et le G1 effectuent tous deux le marquage simultané des objets.

 

 

 

 

 

 

 

Text blocks

 

 

 

 

Les text blocks simplifient l’écriture des programmes Java en facilitant l’expression des strings couvrant plusieurs lignes de code source, en évitant les séquences d’échappement dans les cas courants.

 

 

 

 

 

 

Exemple de text blocks

Les text blocks sont des strings de plusieurs lignes qui évite la nécessité de la plupart des séquences d’échappement, formate automatiquement le string de manière prévisible et permet au développeur de contrôler le format lorsqu’il souhaite.

 

 

 

Les text blocks améliorent la lisibilité des strings dans les programmes Java qui désignent du code écrit dans des langages autres que Java. Ils permettent aussi de soutenir la migration à partir de strings littérals en stipulant que toute nouvelle construction exprime le même ensemble de strings qu’un string littéral, interprète les mêmes séquences d’échappement et est manipulée de la même manière qu’un string littéral.

 

 

 

Les développeurs d’OpenJDK espèrent ajouter des séquences d’échappement pour gérer l’espace blanc explicite et le contrôle des nouvelles lignes.

 

 

 

 

 

 

 

 

 

 

 

Autres améliorations

  • JEP 372: Suppression du Nashorn JavaScript Engine
  • JEP 374: Désactiver ou déprecier le Biased Locking
  • JEP 375: Pattern Matching pour instanceof
  • JEP 385: Déprecier l’Activation RMI pour la suppression
  • Dépréciation des ports Solaris et SPARC
  • Reimplémentation de l’API legacy DatagramSocket
  • 82 nouveaux éléments API et 52 nouvelles classes et méthodes

UNE QUESTION ? UN PROJET ? UN AUDIT DE CODE / D'INFRASTRUCTURE ?

Pour vos besoins d’expertise que vous ne trouvez nulle part ailleurs, n’hésitez pas à nous contacter.

ILS SE SONT FORMÉS CHEZ NOUS

partenaire sncf
partenaire hp
partenaire allianz
partenaire sfr
partenaire engie
partenaire boursorama
partenaire invivo
partenaire orange
partenaire psa
partenaire bnp
partenaire sncf
partenaire hp
partenaire allianz
partenaire sfr
partenaire engie
partenaire boursorama
partenaire invivo
partenaire orange
partenaire psa
partenaire bnp