October 9, 2024

Biotechnologie News

Classe Mondiale Technologie

JDK 20 : Les nouveautés de Java 20

JDK 20 : Les nouveautés de Java 20

Java 20, ou Java Development Kit (JDK) 20, la prochaine version prévue de Java standard, est désormais complet. Les six fonctionnalités officiellement marquées pour la sortie sont soit en incubation, soit en avant-première. Il s’agit notamment des valeurs délimitées, des modèles d’enregistrement, de la correspondance de modèles pour les instructions et expressions de commutateur, d’une fonction étrangère et d’une API de mémoire, de threads virtuels et d’une simultanéité structurée.

Java 20 a atteint un premier phase de ralentissement le 8 décembre, les développeurs cherchant maintenant à corriger les bogues et éventuellement à ajouter des améliorations tardives, avec des approbations requises. La disponibilité générale du JDK est prévue pour le 3 mars 2021, dans le cadre de la cadence de publication de six mois d’Oracle pour les éditions Java standard. JDK 20 suivrait le Sortie du 20 septembre du JDK 19.

Voici les six fonctionnalités prévues pour JDK 20 :

  • Valeurs délimitées, une API en phase de développement d’incubateur, permet le partage de données immuables au sein et entre les threads. Celles-ci sont préférées aux variables locales de thread, en particulier lors de l’utilisation d’un grand nombre de threads virtuels. Une valeur délimitée permet aux données d’être partagées en toute sécurité et efficacement entre les composants d’un programme volumineux sans recourir à des arguments de méthode. Les objectifs incluent la facilité d’utilisation, la compréhensibilité et la performance.
  • Enregistrer les motifs, dans un deuxième aperçu, améliorez le langage de programmation Java avec des modèles pour déconstruire les valeurs d’enregistrement. Les modèles d’enregistrement et les modèles de type peuvent être imbriqués pour permettre une forme déclarative, puissante et composable de navigation et de traitement des données. Les objectifs incluent l’extension de la correspondance de modèles pour exprimer des requêtes de données plus sophistiquées et composables et ne pas modifier la syntaxe ou la sémantique des modèles de type. Principaux changements depuis le premier aperçu en JDK 19 inclure l’ajout de la prise en charge de l’inférence des arguments de type des modèles d’enregistrement génériques, la prise en charge des modèles d’enregistrement à apparaître dans l’en-tête d’un for et suppression de la prise en charge des modèles d’enregistrement nommés.
  • Fonction étrangère et API de mémoire introduit une API grâce à laquelle les programmes Java peuvent interagir avec du code et des données en dehors de l’environnement d’exécution Java. L’API permet aux programmes Java d’appeler des bibliothèques natives et de traiter des données natives sans la fragilité et le danger de JNI (Java Native Interface). L’API était auparavant incubée dans les versions 17 et 18 du JDK et prévisualisée dans le JDK 19. Les améliorations ajoutées depuis le JDK 19 incluent l’unification de MemorySegment et MemoryAddress abstractions, une mise en valeur MemoryLayout hiérarchie et scission de MemorySession dans Arena et SegmentScope pour promouvoir le partage de segments au-delà des limites de maintenance.
  • Fils virtuels sont des threads légers qui réduisent l’effort d’écriture, de maintenance et d’observation des applications simultanées à haut débit. Les modifications mineures depuis la première préversion du JDK 19 incluent un petit nombre de modifications de l’API (rendues permanentes dans le JDK 19) et dégradations à ThreadGroup (également rendu permanent dans JDK 19).
  • Concurrence structurée dispose d’une API pour simplifier la programmation multithread et traite plusieurs tâches exécutées dans différents threads comme une seule unité de travail. La gestion et l’annulation des erreurs sont rationalisées, ce qui améliore la fiabilité et l’observabilité. Le seul changement depuis l’incubation dans JDK 19 est que StructuredTaskScope a été mis à jour pour prendre en charge l’héritage des valeurs délimitées par les threads créés dans une portée de tâche.
  • Correspondance de modèles pour les instructions et expressions switch permet l’expression concise et sûre de requêtes complexes orientées données. Précédemment aperçu dans JDK 17, JDK 18et JDK 19cette quatrième avant-première permettrait une co-évolution continue avec Modèles d’enregistrement, permettant des améliorations continues basées sur l’expérience et les commentaires. Les principales modifications apportées à la correspondance de modèles pour switch depuis la troisième préversion incluent une grammaire simplifiée pour les étiquettes de commutateur et la prise en charge de l’inférence d’arguments de type pour les modèles génériques et des modèles d’enregistrement dans les instructions et expressions switch. De plus, un basculement exhaustif sur une classe enum lance désormais MatchException plutôt que IncompatibleClassChangeError si aucune étiquette de commutateur ne s’applique lors de l’exécution.

Des capacités qui n’ont pas été intégrées JDK 19 mais sont toujours à l’étude pour Java include génériques universels, modèles de chaîne, collections séquencéesEt un API de VM de suivi de pile asynchrone. Les versions à accès anticipé du JDK 20 sont disponibles sur jdk.java.net.

JDK 20 est prévu pour une deuxième phase de rampe le 19 janvier 2023 et deux versions candidates en février. JDK 20 devrait être une version de fonctionnalité à court terme, avec seulement six mois de support de niveau Premier de la part d’Oracle. Le JDK 21, prévu pour septembre 2023, sera une version de support à long terme, soutenue par plusieurs années de support.

Copyright © 2022 IDG Communications, Inc.