Organisme de Formation aux technologies et métiers de L'informatique
java

Formation Java expert, les avancées du langage (de Java 5 à Java 11)

Informations générales

JIK
4 jours (28h)
2 440 €HT
repas inclus

Objectifs

Après ce cours, vous serez capable de :

  • Maîtriser les nouveautés syntaxiques et sémantiques du langage introduites de Java 5 à Java 11
  • Appréhender l’évolution de la JVM
  • Appréhender l’évolution de packages importants

Public

Ce cours s'adresse avant tout aux personnes suivantes :

  • Développeurs, architectes logiciels, chefs de projet.

Prérequis

Pour suivre ce cours, vous devez déjà posséder les connaissances suivantes :

  • Bonnes connaissances de base de Java (jusqu’à 1.4).

Programme de la formation

Le langage Java et son environnement, apparus il y a vingt-six ans, se sont enrichis et ont évolué depuis leurs premières versions. Certaines évolutions sont, malgré une apparente simplicité, difficiles à maîtriser. Ce cours présente en détail les évolutions concernant le langage, la JVM et des librairies importantes.

Les extensions concernant la lisibilité, concision du langage

  • Quelques extensions syntaxiques du langage (Java 5, 7, 9).
  • Méthodes par défaut (Java 8).
  • Méthodes static en interface (Java 8).
  • La représentation des constantes numériques (Java 7, 8).
  • Travaux pratiques : Manipulation d'extension et de constantes numériques.

Les extensions concernant le typage du langage

  • L’autoboxing/unboxing (Java 5).
  • Les generics (Java 5, 7).
  • Les types énumérés (Java 5).
  • L’inférence de type.
  • Travaux pratiques : Manipulation et utilisation des types génériques et des différents autres types.

Les extensions concernant la métaprogrammation

  • Les méta-annotations (Java 5, 8).
  • Les annotations (Java 5, 8).
  • Travaux pratiques : Manipulation et utilisation des annotations.

L’introduction de la programmation fonctionnelle

  • Les librairies d’interfaces fonctionnelles prédéfinies (Java 8).
  • Les lambda expressions (Java 8).
  • Les streams Java 8 (Java 8).
  • Les interfaces fonctionnelles (Java 8).

L’introduction de la modularité

  • La création de modules à la place des jars : principe général, avantage.
  • Les modules (Java 9, 11).
  • L’accessibilité vs. la lisibilité.
  • L’évolution du chargement des classes (Java 5, 9).

Les extensions du modèle de threads

  • L’introduction des Callable, Future et des ExecutorService (Java 5, 8).
  • Le modèle fork/join (Java 7, 8).
  • Les nouvelles classes de synchronisation (Java 5, 7, 8).
  • Travaux pratiques : Utilisation de threads.

L’évolution de la JVM

  • La compilation.
  • Le Garbage Collector.
  • Le chargement des classes.
  • L'amélioration de la gestion des chaînes dans la JVM (Java 9).

La gestion du temps et des dates (Java 8)

  • La gestion du temps machine.
  • La gestion du temps humain.
  • Intervalles de temps : Period et les intervalles de dates, Duration et les intervalles de temps machine (en seconde).
  • Une date en fonction d'éléments relatifs : TemporalAdjusters.
  • Les différences de temps avec des fuseaux horaires.
  • Travaux pratiques : Utilisation des instructions gérant le temps.
plus d'infos

Méthode pédagogique

Chaque participant travaille sur un poste informatique qui lui est dédié. Un support de cours lui est remis soit en début soit en fin de cours. La théorie est complétée par des cas pratiques ou exercices corrigés et discutés avec le formateur. Le formateur projette une présentation pour animer la formation et reste disponible pour répondre à toutes les questions.

Méthode d'évaluation

Tout au long de la formation, les exercices et mises en situation permettent de valider et contrôler les acquis du stagiaire. En fin de formation, le stagiaire complète un QCM d'auto-évaluation.

Mis à jour le 08/11/2023