> 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

Télécharger le programme Partager cette formation


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 en classe à distance

Réf. JAP
Prix : 3030 € H.T.
  5j - 35h00
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.

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.


Modalités pratiques
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.

Solutions de financement
Pour trouver la meilleure solution de financement adaptée à votre situation : contactez votre conseiller formation.
Il vous aidera à choisir parmi les solutions suivantes :
  • Le plan de développement des compétences de votre entreprise : rapprochez-vous de votre service RH.
  • Le dispositif FNE-Formation.
  • L’OPCO (opérateurs de compétences) de votre entreprise.
  • France Travail sous réserve de l’acceptation de votre dossier par votre conseiller France Travail.
  • Le plan de développement des compétences de votre entreprise : rapprochez-vous de votre service RH.
  • Le dispositif FNE-Formation.
  • L’OPCO (opérateurs de compétences) de votre entreprise.
  • France Travail sous réserve de l’acceptation de votre dossier par votre conseiller France Travail.

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.
MAELLE B.
30/09/24
5 / 5

Bon contenu très intéressantEquilibre théorie / pratique très bienBon formateur clair et précis et à l’écoute
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
MANEL J.
27/05/24
5 / 5

contenu très riche




Horaires
En présentiel, 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.
En classe à distance, la formation démarre à partir de 9h.
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