Skip to content

Latest commit

 

History

History
88 lines (65 loc) · 2.94 KB

20201208_Paris-JUG_Java-15.adoc

File metadata and controls

88 lines (65 loc) · 2.94 KB

Paris JUG - 2020/12/08 - Le Java nouveau est arrivé : Java SE 15

Abstract

Sur la chaîne Twitch du ParisJUG : https://www.twitch.tv/parisjug

Java a fêté ses 25 ans cette année. En application du rythme de releases semestrielles, Java 15 a été diffusé le 15 septembre 2020.
Le but de cette session est de faire un tour détaillé des dernières nouveautés :

	* les nouvelles fonctionnalités
	* les fonctionnalités mises à jour
	* les fonctionnalités qui deviennent standard ou production ready
	* les fonctionnalités qui restent en preview ou en incubator
	* les fonctionnalités qui sont dépréciées ou supprimées

par Jean-Michel Doudoux

Notes

Liste des JEP de Java 15

20201208 ParisJUG Java15 01

  • JEP 360 : Sealed classes (preview)

    • parfois on veut modéliser les différentes possibilités qui existent dans une hiérarchie (contrôle de l’héritage)

    • l’idée des types scellés (classes ou interfaces) : restreindre les autres classes ou interfaces pouvant les étendre ou les implémenter

    • une fois scellé, une classe ne peut pas avoir d’autres classes filles directes que celles explicitement ou implicitement définies.

    • un des intérêts est de connaître à l’avance toutes les classes de la hiérarchie

    • sealed, non-sealed et permits : non-sealed est le 1er mot clé à utiliser un nom composé avec un trait d’union

    • on ne peut pas sceller une classe sans qu’elle ait au moins une classe fille

  • JEP 371 : Hidden classes

    • elle ne peuvent pas être accédées par d’autres classes

      • même par réflexion

      • et elles sont non visibles dans la stack

    • les classes et les interfaces peuvent être cachées

    • cette fonctionnalité doit en remplacer une plus ou moins analogue dans sun.misc.Unsafe.

      • pour rappel, on travaille sur le remplacement de Unsafe depuis Java 9

  • ZGC

    • la heap peut maintenant atteindre 16 To (de 8 Mo à 16 To)

  • Text Blocks !

  • JEP 375 : Pattern Matching for instanceof

  • JEP 384 : Records (second preview)

    • rappel : le record est final