Informatique

Nouveautés des versions 8 à 17

Nouveautés des versions 8 à 17

Réf 4-JA-JAVNX
Durée 2 jours

Objectifs

Connaitres les principales évolutions du langage et leurs impacts sur le développement d'applications

Infos

Sessions à venir

05 déc-06 déc 2022
06 mar-07 mar 2023
02 mai-03 mai 2023

Certifications :

Nous consulter

Programme

Introduction

  • Le cycle de release
  • Les versions de Java
  • Intérêt d'une migration

Java 8 et plus Présentation

  • Aperçu des évolutions de Java 8 et plus
  • Evolutions du langage
  • Expressions Lambda
  • Références de méthodes
  • Méthodes par défaut
  • Annotations répétées, annotations de type

Les entrées/sorties et NIO 2

  • Les nouvelles API java.nio.file
  • La classe File
  • Gestion des fichiers : accès, lecture et écriture.
  • Notification des changements d'un fichier(WatchService)
  • FileSystem et la manipulation des archives
  • Les I/O asynchrones

La Java Virtual Machine

  • Le Garbage-First collector
  • Optimisations de la VM

Fork/Join

  • Parallelisation des traitements
  • taches récursives et pools de threads (RecursiveTask / ForkJoinPool)
  • Les méthodes fork() / join() pour distribuer les traitements

Les nouveautés Swing

  • Look & Feel Nimbus
  • Savoir utiliser le JLayer : Calques et transparence
  • gestion de l'état des composant

Les langages dynamiques

  • Scala, Groovy...
  • Découvertes des langages dynamiques
  • Appeler du code dynamique depuis Java
  • Appeler du Java depuis du code Dynamique
  • InvokeDynamic

Evolutions des API

  • Les flux appliqués aux collections
  • Nouveau package pour les dates
  • Nouveautés dans JavaFX

La programmation modulaire Java 9

  • Présentation de Jigsaw
  • La déclaration des modules
  • Les mots réservés
  • Le fichier module-info.java
  • Lancer une application à partir des modules
  • Le packaging des modules et les JAR

Autres nouveautés Java 9

  • Nouveau rythme de publication
  • JShell : la REPL de Java
  • L'API Optional
  • Instanciation de collections immuables
  • Amélioration des streams
  • Méthodes privées dans les interfaces

Nouveautés Java 10

  • L'inférence de type (mot-clé var)
  • Améliorations dans les API existantes

Nouveautés Java 11

  • L'inférence de type pour les paramètres des lambdas
  • Nouveau client HTTP
  • Simplification de l'exécution des programmes
  • Améliorations dans les classes String, StrtingBuilder et StringBuffer
  • Améliorations des Predicate Java 8
  • Classes imbriquées et visibilité des attributs

Autres nouveautés

  • Apports de la JDK 12 à 17
  • Déploiement d'applications avec les profils compacts
  • Invocation de code JavaScipt avec Nashorn

En savoir +

Prérequis

Une première expérience du langage java est requise.

Moyens pédagogiques

Réflexion de groupe et apports théoriques du formateur
Travail d'échange avec les participants sous forme de réunion-discussion
Utilisation de cas concrets issus de l'expérience professionnelle
Validation des acquis par des questionnaires, des tests d'évaluation, des mises en situation et des jeux pédagogiques.
Alternance entre apports théoriques et exercices pratiques (en moyenne 30 à 50%)
Remise d'un support de cours.

Possibilité de certification

Nous consulter.