Data & IA

JAVA : Programmation Avancée

Prix en inter

2750 € ht

Durée

35h - 5 jour.s

Objectifs

L’objectif principal est de fournir un aperçu des principaux frameworks pour la gestion des threads, la communication réseau, ainsi que l’administration et la supervision des applications. Le cours aborde également les principes architecturaux fondamentaux qui supportent la construction modulaire des applications.

Pre-requis

Avoir des notions de programmation orientée objet

Public visé

Concepteur Développeur

Programme

Module 1 : La programmation concurrente
– Concepts de la programmation multithread : le modèle d’activités de Java (Runnable et Thread).
– Création et destruction des threads. Ordonnancement des threads.
– Synchronisation des threads : verrouillage des méthodes et des instructions (synchronized), moniteurs.
– Problèmes courants du multithreading : interblocage (caractérisation, évitement, prévention, détection), famine.
– Extensions du modèle dans Java 5 : Callable<T>, Future<T>, ExecutorService, nouvelles collections.
 -Modèle Fork/Join de Java 7.
– Extensions de Java 8 : CompletableFuture.
– Outils de gestion de la concurrence : verrous partagés/exclusifs, sémaphores, barrières cycliques.
Travaux pratiques : construction d’une application multithread avec contraintes de concurrence.


Module 2 : La communication par socket
– Rappels sur les concepts réseaux.
– Communication en mode connecté.
– Modèle client/serveur : serveur séquentiel vs. serveur concurrent, utilisation de la sérialisation.
– Programmation en mode non connecté : modèle Peer to Peer.
Travaux pratiques : étude de cas en mode client-serveur (séquentiel et concurrent).


Module 3 : La communication par invocation de méthode distante : RMI
– Principes généraux des ORB (Object Request Broker).
– Modèle RMI : concepts, interfaces, classes de base.
– Service de nommage.
– Développement du client et du serveur.
– Contraintes de sécurité et de chargement de classes.
Travaux pratiques : étude de cas à l’aide de RMI.


Module 4 : La communication par messages : JMS
– Principes généraux de la communication par messages.
– Modèle de base JMS : concepts, interfaces, classes.
– Différentes formes de messages.
– Communication point à point.
– Communication publish/subscribe.
Travaux pratiques : étude de cas à l’aide de JMS.


Module 5 : L’administration des applications : JMX
– Modèle JMX (Java Management eXtension) : concepts, interfaces, classes.
– MBeans et MBeanServers.
– Mise en place d’une couche d’administration.
– Console d’administration (JConsole).
– Communication via adaptateurs et connecteurs.
Travaux pratiques : mise en place d’une couche d’administration-supervision pour l’étude de cas.


Module 6 : La programmation réflexive
– Objectifs et principes.
– Découverte dynamique des informations relatives à une classe ou à un objet.
– Instanciation et invocation dynamique.
– Réflexivité et annotations en Java 5.
Travaux pratiques : étude de cas en mode client-serveur (séquentiel et concurrent).


Module 7 : Panorama des extensions de Java 5 à…
– Types : génériques, énumérations, autoboxing/autounboxing, records.
– Lambda-expressions, interfaces fonctionnelles.
– Streams de Java 8.
– Modules de Java 9.

  • « Evaluation des acquis tout au long de la formation à travers des Tps, des Quizz ;
    Evaluation de satisfaction de fin de formation ;
    Attestation de fin de formation précisant les modules acquis et en cours d’acquisition ;
    Support de cours remis en fin de session. »

  • Vous pouvez vous inscrire pour suivre une de nos formations jusqu'à la veille de la date de démarrage si la formation est financée directement par votre entreprise ET si le nombre maximum de participants n'est pas atteint. Si la formation est financée via un OPCO, vous devez au préalable avoir obtenu un accord de ce dernier.
  • "Nos locaux sont accessibles aux Personnes à Mobilité Réduite PMR. De plus, nos conseillers sont disponibles pour vous accompagner dans vos démarches à travers nos partenaires. Nous sommes en mesure de mobiliser les expertises, les outils nécessaires pour vous accueillir, vous accompagner et vous former."

« Nécessaire » indique les champs nécessaires

Votre demandeNécessaire
Format
Ce champ n’est utilisé qu’à des fins de validation et devrait rester inchangé.