Publié le: Mar 22, 2022

Amazon Corretto 18 est désormais disponible d’une manière générale. Cette version, disponible sur Linux, Windows et macOS, prend en charge la dernière version d'OpenJDK 18. Vous pouvez télécharger Corretto 18 depuis la page des téléchargements. Amazon Corretto est une distribution multi-plateforme gratuite et prête pour la production d'OpenJDK. Corretto est distribué par Amazon sous une licence open source.

OpenJDK 18 offre une nouvelle fonctionnalité de résolution d'adresses Internet, un Simple Web Server, une API vectorielle mise à jour, une nouvelle identification @snippet pour JavaDoc, une nouvelle implémentation de Core Reflection, une modification d'UTF-8 comme jeu de caractères par défaut (charset) des API Java standard, une deuxième itération de l'API Foreign Memory, des avancées dans la recherche de modèles pour les instructions switch et la dépréciation de la finalisation.

  • La nouvelle interface SPI (Service Provider Interface) permet aux développeurs de spécifier un résolveur d'adresse Internet différent de celui intégré par défaut à la JVM. Le principal avantage est qu'il atténuera un problème de blocage lié à un appel du système d'exploitation qui se produit actuellement lors de la conversion de l'adresse Internet. Cela sera particulièrement utile aux applications qui utilisent des threads virtuels.
  • Le Simple Web Server inclus dans OpenJDK 18 fournira un outil de ligne de commande pour fournir des fichiers statiques. Les développeurs peuvent l'utiliser pour le prototypage, le codage ad hoc et les tests.
  • Une API Vector a été initialement introduite dans OpenJDK 16. Elle a été améliorée dans OpenJDK 17, et a été encore améliorée dans OpenJDK 18. La dernière version inclut la prise en charge de la plateforme ARM Scalar Vector Extension (SVE) et améliore les performances des opérations vectorielles.
  • Une nouvelle fonction permettant au développeur d'ajouter des exemples de code source dans les JavaDocs a été ajoutée. En utilisant l'annotation @snippet, le développeur peut ajouter des fragments de code à sa documentation.
  • OpenJDK 18 contient une mise à jour de la manière dont la réflexion est implémentée. La modification transfère java.lang.reflect.Method, Constructor et Field vers les descripteurs de méthode java.lang.invoke, ces descripteurs étant la manière sous-jacente dont la réflexion est effectuée.
  • OpenJDK 18 utilise UTF-8 comme jeu de caractères par défaut des API Java standard. Ainsi, les API peuvent fonctionner de manière plus prévisible lorsque l'attribut charset facultatif n'est pas transmis aux API.
  • Avec OpenJDK 18, une nouvelle API a été introduite pour permettre aux développeurs d'interagir avec du code et des données externes à la JVM, sans utiliser l'interface Java Native (JNI). Il s'agit de la suite d'une API en incubation lancée dans OpenJDK 17, et elle apporte un certain nombre d'améliorations à l'itération précédente.
  • Une deuxième version préliminaire de Pattern Matching pour les instructions switch est incluse dans OpenJDK 18. Le lancement initial de cette fonction a été inclus dans OpenJDK 17. Avec OpenJDK 18, il a été amélioré en permettant aux modèles d'apparaître dans les étiquettes de cas, en permettant l'introduction de nouvelles fonctionnalités et en un comportement de nullité défini par le développeur.
  • La finalisation sera supprimée dans une future version du JDK. Avec OpenJDK 18, la fonction est obsolète.

La liste de ces fonctions avec plus de détails est disponible ici.