Nouvelle fonctionnalité Java 21 : Virtual Threads #RoadTo21 – Apprenez-en davantage sur la fonctionnalité la plus attendue : un nouveau modèle de threads plus léger. Les threads virtuels répondent à la complexité et aux coûts de maintenance de la programmation asynchrone sans renoncer aux performances de ce modèle.
De l’efficacité améliorée de la compilation avec javac aux améliorations complètes de la documentation dans javadoc, en passant par le prototypage rapide avec jwebserver, nous explorerons les changements passionnants apportés aux outils JDK depuis Java 17, rendant votre parcours de codage plus efficace et plus perspicace. De plus, nous plongerons dans les mises à jour de keytool et jarsigner et exploiterons une surveillance et des diagnostics puissants avec JFR et JMC !
Changements recensés
-> Une surcharge de la méthode indexOf() a été ajoutée ,qui vous permet de rechercher un seul caractère ou une sous-chaîne entre un index de début et un index de fin.
-> La classe Character scie l’ajout de plusieurs méthodes pour supporter les emojis.
Il y en a en fait cinq: isEmoji(), isEmojiComponent(), isEmojiModifier(), isEmojiModifierBase() et isEmojiPresentation().
Toutes ces méthodes prennent un point de code comme paramètre, de type int.
-> Les autres bonnes vieilles classes StringBuffer et StringBuilder ont également attiré l’attention
-> Vous pouvez maintenant répéter une chaîne de caractères un nombre de fois avec la méthode repeat()
-> mise à jour du moteur d’expression régulière qui prends désormais en charge les groupes nommés.
Les groupes nommés permettent de donner un nom aux groupes de capture et de les insérer dans notre code.
Dans l’exemple suivant, nous analysons une ligne avec un index, un nom de ville et une population. Nous voulons capturer le premier groupe et lui donner le nom index
-> Des éléments ont été ajoutés au framework Collections,les plus important étant les 2 nouvelles interfaces SequencedCollection et SequencedSet:
interface SequencedSet<E>{}
interface SequencedMap<K, V>{}
->plusieurs méthodes d’usine pour créer différents types de cartes avec une capacité initiale donnée
Ici,on a pour exemple un HashMap est construit sur un tableau interne et lorsque ce tableau est plein, il est copié dans un tableau plus grand.(enfin petit aparté,il faut quand même que toutes les paires clé-valeur soient rehachées afin de retrouver la même position dans le second tableau.)
-> API Date et Heure
On a une nouvelle méthode de fabrique ofLocalizedPattern(« … ») qui produit un modèle localisé.