Menu

FORMATIONS / INFORMATIQUE / LANGAGE / DEVELOPPEMENT / Java JEE

LD-009  JAVA PERFECTIONNEMENT |  5 jours


01/. Le langage Java

Présentation de Java ; Historique de Java ; Versions SE, EE, ME, Fx ; Machine virtuelle JVM et bytecode ; Environnement d’exécution JRE ; API de la librairie intégrée ; Les outils du JDK.

02/. Données en mémoire

Les références ; La mémoire (Stack et Heap) ; Classes, Types et Instances ; Types primitifs, opérateurs et calculs ; Calcul signés et exacts ; Autoboxing ; Chaîne de caractères ; Gestion du temps avec java.time ; Tableaux ; Interface Optional ; Gestion des varargs.

03/. Héritage

Surcharge et redéfinition de constructeur ; Interfaces ; Polymorphisme et surcharge ; Liaison tardive ; Classes et méthodes abstraites. Classes Object et Objects ; Bloquer l’héritage avec final.

04/. Les Enums

Définition ;Méthodes prédéfinies ;Redéfinition de méthode ;Enrichir un type énuméré ;Ajuster un calcul suivant le litteral.

05/. Généricité

Définition des Types ; Type Erasure ; Lower et UpperBounds ; Covariance and contravariance ; Inférence de Type ; Ecrire une méthode générique ; Ecrire une classe générique.

06/. Annotations

Annotations standards ; Méta-Annotations ; Rétention ; Cible (Target) ; Arguments ; Lecture par introspection ; Outils de traitement intégrés.

07/. L'API de Reflection (Introspection)

Les composants de la Reflection ; Explorer le modèle d’un objet ; Instanciations et Appels Dynamiques ; Restrictions de Sécurité ; Lecture et exploitation des Annotations.



08/. Programmation fonctionnelle

Interface fonctionnelle ; Référence de fonction ; Fonction anonyme ; Profils fonctionnels prédéfinis ; Composer des fonctions ; Définir un profil fonctionnel ; Méthodes static et default d’une interface.

09/. Le Framework Collection

Les différentes collections ; Zoom sur les listes ; Les Collections ordonnées ; Utilisation des générics ; Etendre une Collection ; Streaming et map/reduce ; Traitement parallèle ; Réduction complexe avec un Collector.

10/. Les Entrées et Sorties

Lire et écrire via des flux ; Fichier, console, clavier et scanner ; Sérialisation des données ; Auto fermeture d’une ressource ; Accès au système de fichier : NIO et NIO2 ; Patterns Observateur et Visiteur de NIO2.

11/. Gestion de la concurrence

Gestion des Threads ; Mécanisme de moniteur ; Calculs Runnable ou Callable ; Interface Future ; Contrôler avec ExecutorService ; Synchroniser avec ForkJoinPool ; Ecriture fonctionnelle d’un calcul concurrent ; Collections concurrentes.

12/. Packaging

Jar simple ; Jar exécutable ; Jar externe, licensing, classpath ; Tout réunir dans un Fat jar ; War pour application Web ; ClassLoader.

13/. Optimisations et performances

Optimisations du code ; Benchmarking ; Comportement de la JVM ; Impact de la Reflection.



Public
Développeur JAVA.

Objectifs
Construire une application complexe, assimiler les subtilités et risques du langage. Ecrire un code performant et réutilisable, être à jour des nouveautés du langage. Maitriser l'environnement de développement.

Prérequis
Connaissance de Java.

Moyens pédagogiques
1 ordinateur et 1 support de cours par personne + 1 vidéoprojecteur. Évaluation par écrit en fin de cours et attestation de stage délivrée en fin de formation.

VOS DATES DE FORMATION