Formation Java, programmation avancée


Formation Java, programmation avancée

Catalogue : Développement logiciel



La programmation concurrente
• Les concepts de la programmation multithread : le modèle d’activités de Java (Runnable et Thread).
• La création/destruction des threads. Ordonnancement des threads.
• La synchronisation des threads. Le verrouillage des méthodes et des instructions (synchronized). Les moniteurs.
• Quelques problèmes du multithread : l'interblocage (caractérisation, évitement, prévention, détection), la famine.
• Les extensions du modèle introduites dans Java.5 (Callable<T>, Future<T>, ExecutorService. Les nouvelles collections.
• Le modèle Fork/Join de Java 7. Les extensions de Java 8 (CompletableFuture).
• Les divers outils de gestion de la concurrence : les verrous partagés/exclusifs, les sémaphores, les barrières cycliques.
Travaux pratiques
Construction d'une application multithread avec contraintes de concurrence.
La communication par socket
• Rappels sur les principaux concepts réseaux.
• La communication en mode connecté.
• Le modèle client/serveur. Serveur séquentiel versus serveur concurrent. Utilisation de la sérialisation.
• La programmation en mode non connecté. Le modèle Peer to Peer.
Travaux pratiques
Programmation de l'étude de cas en mode client-serveur (séquentiel et concurrent).
La communication par invocation de méthode distante : RMI
• Les principes généraux des ORB (Object Request Broker).
• Le modèle RMI (les concepts, les interfaces classes de base).
• Le service de nommage.
• Le processus de développement du client et du serveur.
• Les contraintes de sécurité et de chargement de classes.
Travaux pratiques
Programmation de l'étude de cas à l'aide de RMI.
La communication par messages : JMS
• Les principes généraux de la communication par messages.
• Le modèle de base (les concepts de JMS, les interfaces et les classes).
• Les différentes formes de messages.
• La communication en mode point à point.
• La communication en mode publish/subscribe.
Travaux pratiques
Programmation de l'étude de cas à l'aide de JMS.
L’administration des applications : JMX
• Le modèle JMX (Java Management eXtension) : les concepts, les interfaces et les classes correspondantes.
• Les MBeans et MBeanServers.
• La mise en place d’une couche d’administration.
• La console d'administration (JConsole).
• La communication à l’aide des adaptateurs et des connecteurs.
Travaux pratiques
Mise en place d'une couche d'administration-supervision pour l'étude de cas.
La programmation réflexive
• Les objectifs et les principes.
• La découverte dynamique des informations relatives à une classe ou à un objet.
• L’instanciation et l’invocation dynamique.
• La réflexivité et les annotations en Java 5.
Travaux pratiques
Programmation de l'étude de cas en mode client-serveur (séquentiel et concurrent).
Un panorama des extensions de Java 5 à...
• Les types : les génériques, les énumérations, l’autoboxing/autounboxing, les records.
• Les lambda-expressions, les interfaces fonctionnelles.
• Les streams de Java 8.
• Les modules de Java 9.

 

Fiche de la formation



 Cible :

Développeurs, ingénieurs, chefs de projets proches du développement.


 Prérequis :

Bonnes connaissances du langage Java. Expérience requise en programmation Java.


 Durée : 5 jours

 Type : Stage pratique


 Contactez-nous