Développement Java

Java, programmation avancée

Objectifs de la formation

  • Mettre en œuvre la programmation concurrente à base de threads
  • Mettre en œuvre différentes techniques de communication (Socket, RMI, JMS)
  • Administrer une application Java via JMX, surveiller la JVM
  • Mettre en œuvre la programmation réflexive et à base d’annotations


Programme de la formation

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.

MOYENS PÉDAGOGIQUES ET TECHNIQUES D’ENCADREMENT DES FORMATIONS

Modalités pédagogiques :

  • Évaluation des besoins et du profil des participants.
  • Apport théorique et méthodologique : séquences pédagogiques regroupées en différents modules.
  • Contenus des programmes adaptés en fonction des besoins identifiés pendant la formation.
  • Le formateur évalue la progression pédagogique du participant tout au long de la formation au moyen de travaux pratiques, étude de cas et mise en situation.
  • Méthodes expositive, active et participative.
  • Réflexion et échanges sur cas pratiques.
  • Retours d'expériences.
  • Corrections appropriées et contrôles des connaissances à chaque étape, fonction du rythme de l’apprenant mais également des exigences requises au titre de la formation souscrite.

Éléments matériels :

  • Mise à disposition des outils nécessaires au bon déroulement des travaux pratiques.
  • Support de cours au format numérique projeté sur écran et transmis au participant en fin de la formation.

Référent pédagogique et formateur :

  • Chaque formation est sous la responsabilité du directeur pédagogique de l’organisme de formation.
  • Le bon déroulement est assuré par le formateur désigné par l’organisme de formation.
MOYENS PERMETTANT LE SUIVI ET L’APPRÉCIATION DES RÉSULTATS
  • Feuilles de présences signées des participants et du formateur par demi-journée.
  • Attestation de fin de formation mentionnant les objectifs, la nature et la durée de l’action et les résultats de l’évaluation des acquis de la formation.
Please login to get access to the quiz
Concepts objets et Programmation Java SE 8 (Prev Lesson)
(Next Lesson) Introduction à la programmation, avec Java
Back to Développement Java
Public

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

Pré-requis

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

Vérifiez que vous avez les prérequis nécessaires pour profiter pleinement de cette formation en effectuant le test disponible en bas de cette page.

Lieu de formation

Intra-entreprise/à distance

Dates ou période

À définir. Nous consulter

Tarif

Sur devis. Merci de nous contacter

Modalités

Pour s’inscrire à notre formation, veuillez nous contacter par mail ou téléphone.

Démarrage de la formation sous deux semaines (délai indicatif).

Nous contacer
Informations complémentaires

Pour toute réclamation, aléas ou difficultés rencontrés pendant la formation, veuillez prendre contact avec notre organisme par téléphone ou par e-mail. Nous mettrons tout en œuvre pour trouver une solution adapter.

Formation synchrone, réalisée à distance en visioconférence via l’application Microsoft Teams ou en présentiel dans les locaux du client.