> Formations > Technologies numériques > Développement logiciel > Java, Java EE, Jakarta > Formation Java, programmation avancée > Formations > Technologies numériques > Formation Java, programmation avancée

Formation : Java, programmation avancée

Java, programmation avancée




L'objectif principal est de présenter un panorama des principales librairies concernant la gestion des threads, les communications via le réseau, l'administration et la supervision des applications. Le cours présente aussi les principes architecturaux qui sous-tendent la construction compositionnelle d’applications.


INTER
INTRA
SUR MESURE

Cours pratique en présentiel ou à distance
Disponible en anglais, à la demande

Réf. JAP
  5j - 35h00
Prix : 3030 € H.T.
Pauses-café et
déjeuners offerts




L'objectif principal est de présenter un panorama des principales librairies concernant la gestion des threads, les communications via le réseau, l'administration et la supervision des applications. Le cours présente aussi les principes architecturaux qui sous-tendent la construction compositionnelle d’applications.


Objectifs pédagogiques
À l’issue de la formation, le participant sera en mesure de :
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

Public concerné
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 faisant  ce test.

Méthodes et moyens pédagogiques
Travaux pratiques
Ce cours illustre les principes exposés par la construction progressive d'une application en Java.

Modalités d'évaluation
Le formateur évalue la progression pédagogique du participant tout au long de la formation au moyen de QCM, mises en situation, travaux pratiques…
Le participant complète également un test de positionnement en amont et en aval pour valider les compétences acquises.

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.
Solutions de financement
Plusieurs solutions existent pour financer votre formation et dépendent de votre situation professionnelle.
Découvrez-les sur notre page Comment financer sa formation ou contactez votre conseiller formation.

Avis clients
4,4 / 5
Les avis clients sont issus des évaluations de fin de formation. La note est calculée à partir de l’ensemble des évaluations datant de moins de 12 mois. Seules celles avec un commentaire textuel sont affichées.
ADAM G.
18/11/24
5 / 5

Parfait
PIERRE A.
18/11/24
5 / 5

Super formateur, très à l’écoute des questions
THEO L.
30/09/24
5 / 5

Contenu à l’image du programme et de très bonne qualité. Nous avons pu mettre en pratique tout ce que nous avons de manière théorique avec des exercices adaptés. Merci au formateur qui était très interessant et pédagogue. Il m’a fait des découvrir des détails du language ainsi que de nouveaux sujets/outils en java que je pourrai à l’avenir utiliser. Je suis désormais beaucoup plus à l’aise sur l’utilisation des threads. Merci



Horaires
les cours ont lieu de 9h à 12h30 et de 14h à 17h30.
Les participants sont accueillis à partir de 8h45. Les pauses et déjeuners sont offerts.
Pour les stages pratiques de 4 ou 5 jours, quelle que soit la modalité, les sessions se terminent à 16h le dernier jour.

Dates et lieux
Sélectionnez votre lieu ou optez pour la classe à distance puis choisissez votre date.
Classe à distance

Dernières places
Date garantie en présentiel ou à distance
Session garantie