tous les 6 mois Des releases avec moins de contenu … … pour réduire les délais et évoluer plus rapidement Nouveau pattern: $FEATURE.$INTERIM.$UPDATE.$PATCH Exemples: 9.0.4, 11.0.5, 11.0.7.10 (version en prod) Version LTS (long term service) tous les 3 ans (next JDK 17)
project Plusieurs distributions (packaging du code source) OpenJDK (Par Oracle): version free, mais support limité OracleJDK: version commerciale et payante AdoptOpenJDK: Depuis 2017, version free avec un bon support et choix de la JVM (hotspot ou OpenJ9) Autres: Amazon Corretto, Azul Zulu, SapMachine, etc.
String Commence par 3 doubles quotes Simplifie l’écriture de textes longs comme html, json, sql Plus besoin d’ajouter des escapes Plus d’exemples : https://www.baeldung.com/java-text-blocks
par élément définis dans l’entête • Un constructeur avec tous les champs • Un accesseur public par champ (possibilité d’override) • Méthodes toString, equals, hashCode (possibilité d’override) • Record est une classe finale non extensible • Peut implémenter des interfaces et avoir des annotations Use cases: • Remplacement de Java Bean et limiter l’usage de frameworks du type Lombok ou Immutables. • En tant que POJO exploité dans des frameworks tel que Jackson ou Hibernate. • En tant que type intermédiaire lors d’opération sur les streams • Associés à des sealed classes • retour multi valeurs
Instanceof permet maintenant de tester le type et d’assigner directement dans une variable Plus d’infos sur le pattern matching: https://cr.openjdk.java.net/~briangoetz/amber/p attern-match.html
classe ou une interface qui restreint les autres classes ou interfaces qui peuvent l'étendre La classe sellée et ses sous-classes doivent appartenir au même module ou même package Chaque sous-classe doit étendre directement la classe sellée Plus d’infos: https://openjdk.java.net/jeps/360 On peut utiliser un switch avec pattern matching :