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.

Méthodes 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


  • Vous souhaitez organiser cette formation à une date spécifique ?
  • Vous ne trouvez pas de date de session sur les semaines à venir ?
Contactez nos équipes au 05 59 14 62 62 ou remplissez le formulaire de contact