JDK 21 : Les nouvelles fonctionnalités de Java 21
Java 21: Révolutionnez votre code avec les dernières fonctionnalités du JDK 21 !
Le kit de développement Java (JDK) 21, prévu pour septembre en tant que prochaine version de support à long terme (LTS) de l'implémentation Java standard d'Oracle, commence à prendre forme, avec des collections séquencées, des templates de chaînes de caractères et des threads virtuels prévus jusqu'à présent.
Les threads virtuels sont une amélioration significative de la concurrence en Java qui a été ajoutée à la page du JDK 21 sur openjdk.org à la fin de la semaine dernière. Bien que la page de lancement du JDK 21 ne mentionne encore que deux fonctionnalités officielles, les collections séquencées et les threads virtuels, les templates de chaînes de caractères sont également prévus pour le JDK 21, selon la proposition d'amélioration de Java sur openjdk.org.
Les propositions spécifiques comprennent :
Les threads virtuels sont des threads légers qui promettent de réduire "considérablement" l'effort d'écriture, de maintenance et d'observation des applications concurrentes à haut débit. Le plan vise notamment à permettre aux applications serveur écrites dans le style simple "thread-per-request" de s'adapter avec une utilisation quasi optimale du matériel, à permettre au code existant qui utilise l'API lang.Thread d'adopter les threads virtuels avec un minimum de changements, et à faciliter le débogage et le profilage des threads virtuels avec les outils actuels du JDK. Prévisibles dans le JDK 20 et le JDK 19, les threads virtuels seront finalisés dans le JDK 21. Avec le JDK 21, les threads virtuels prennent désormais en charge les variables locales en permanence et rendent impossible la création de threads virtuels qui ne disposent pas de ces variables. La prise en charge garantie des variables locales aux threads garantit que davantage de bibliothèques existantes peuvent être utilisées sans modification avec les threads virtuels et facilite la migration du code task-orienté vers l'utilisation des threads virtuels.
Les collections séquencées introduisent des interfaces pour représenter des collections avec un ordre de passage défini. Chaque collection comporte un premier et un deuxième éléments bien définis, et ainsi de suite jusqu'au dernier élément. Des API uniformes sont fournies pour accepter les premiers et les derniers éléments et pour traiter les éléments dans l'ordre inverse. La proposition est motivée par une situation dans laquelle le cadre des collections de Java ne dispose pas d'un type de collection pour représenter une séquence d'éléments avec un ordre de rencontre défini. Il manque également un ensemble uniforme d'opérations applicables à ces collections. Ces lacunes ont constitué un problème et une source de plaintes. La proposition prévoit de définir des interfaces de séquençage pour les collections, les ensembles et les cartes, et de les intégrer dans la hiérarchie existante des types de collections. Toutes ces nouvelles méthodes ont des implémentations par défaut.
Les templates de chaînes de caractères, qui apparaîtront en avant-première, complètent les chaînes de caractères littérales et les blocs de texte existants de Java en couplant le texte littéral avec des expressions et des traitements intégrés afin de produire des résultats spécialisés. Cette fonctionnalité du langage et de l'API est destinée à simplifier l'écriture de programmes Java en facilitant l'expression de chaînes de caractères comprenant des valeurs calculées au moment de l'exécution. Elle promet d'améliorer la lisibilité des expressions, la sécurité des programmes, la flexibilité et de simplifier l'utilisation des API qui acceptent les chaînes de caractères écrites dans des langages autres que Java. L'objectif est également de permettre le développement d'expressions autres que des chaînes de caractères, dérivées de la combinaison de texte littéral et d'expressions intégrées.
En tant que version de support à long terme (LTS), le JDK 21 bénéficierait de cinq ans de support Premier et d'un support étendu jusqu'en septembre 2031. La version LTS actuelle est le JDK 17, publié en septembre 2021. Les versions non LTS, telles que la version JDK 20 qui est arrivée le 21 mars, et la version précédente JDK 19, ne bénéficient que de six mois de support Premier et d'aucun support étendu.
De nouvelles versions de l'implémentation Java standard d'Oracle arrivent tous les six mois. Parmi les autres fonctionnalités possibles du JDK 21 figurent toutes les fonctionnalités d'incubation et de prévisualisation du JDK 20, telles que les scoped values, les records patterns et le pattern matching pour les instructions switch. Les génériques universels, le garbage collector générationnel Z et l'API VM asynchrone de stack trace pourraient également être inclus.
Cindano Jonathan
Merci de faire partie de notre communauté ! Avant de partir :
❤️ J'aime l'histoire et je suis l'auteur 👉
📰 Voir plus de contenu dans mes publications
🔔 Suivez-nous : Twitter | LinkedIn | Newsletter
N’hésitez pas à me contacter via mon site web pour en savoir plus