Skip to main content

Chapitre 10 : Java 18-24

UTF-8, jwebserver, Switch pattern matching, Virtual Threads, Record Patterns, Scoped Values

Java 18

Ce qu'il faut retenir

L'encodage UTF-8 devient l'encodage par défaut

L'encodage UTF-8 devient l'encodage par défaut de la plateforme, tous OS et langues confondus !

jwebserver

Ajout d'un utilitaire accessible en ligne de commande nommé jwebserver, permettant de lancer un serveur HTTP rendant disponible un dossier, ses sous-dossiers et les fichiers qu'ils contiennent. Il est aussi possible d'utiliser l'API SimpleFileServer pour embarquer la fonctionnalité dans sa base de code. (quelques exemples)

Deuxième preview du Switch pattern matching

Deuxième preview du Switch pattern matching, avec deux améliorations majeures

Ajout de méthodes au JDK

Ajout de quelques méthodes au JDK : Duration.isPositive, plusieurs méthodes dans les classes Math et StrictMath

Support des blocs de code d'exemple dans JavaDoc

Les commentaires de JavaDoc supportent désormais les blocs de code d'exemple

Pour aller plus loin

Java 19

Ce qu'il faut retenir

Preview feature : Threads Virtuels

Preview feature : Threads Virtuels (aussi connu sous le nom de Project Loom)

Preview feature : Record Patterns

Preview feature : Record Patterns, qui vient enrichir le pattern matching avec les bénéfices des records, comme la déstructuration de la valeur utilisée

Troisième preview du Switch pattern matching

Troisième preview feature : Switch pattern matching, avec l'introduction du mot-clé when (on dirait Kotlin, tiens ;))

Pour aller plus loin

Java 20

Ce qu'il faut retenir

Pour aller plus loin

Vector API (Cinquième incubation): Améliore les performances des calculs vectoriels

Java 21

Ce qu'il faut retenir

  • Virtual Threads (Standard) : Les threads virtuels sortent de la preview et sont intégrés au standard Java
  • Scoped Values (Preview) : Deuxième preview avec des améliorations
  • Record Patterns (Standard) : Les record patterns sortent de la preview
  • Pattern Matching for switch (Standard) : Le pattern matching pour switch sort de la preview
  • String Templates (Preview) : Permet d'intégrer des expressions dans les chaînes de caractères
  • Sequenced Collections : Ajoute des interfaces pour représenter des collections ordonnées
  • Unnamed Classes and Instance Main Methods (Preview) : Simplifie l'écriture de petits programmes

Pour aller plus loin

  • Foreign Function & Memory API (Deuxième preview)
  • Vector API (Sixième incubation)
  • Key Encapsulation Mechanism API
  • Deprecate the Windows 32-bit x86 Port

Java 22-24

Java 22

Scoped Values (Deuxième preview), Foreign Function & Memory API (Troisième preview), Vector API (Septième incubation)

Java 23

Scoped Values (Troisième preview), Foreign Function & Memory API (Preview), Vector API (Huitième incubation)

Java 24

Scoped Values (Quatrième preview), Synchronisation des Virtuals Threads sans "pinning", Vector API (Neuvième incubation)