Programme Java programmation avancée

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

Durée : 5 jours - 35 heures
Tarif : Nous contacter pour une formation INTER – INTRA ou en COURS PARTICULIER

Dans ce cours, vous aurez un panorama des librairies concernant la gestion des threads, vous travaillerez les communications a travers le réseau, l'administration et la supervision des applications.

La formation est délivrée en présentiel ou distanciel (e-learning, classe virtuelle, présentiel et à distance). Le formateur alterne entre méthodes démonstrative, interrogative et active (via des travaux pratiques et/ou des mises en situation). La validation des acquis peut se faire via des études de cas, des quiz et/ou une certification.

Cette formation est animée par un consultant-formateur dont les compétences techniques, professionnelles et pédagogiques ont été validées par des diplômes et/ou testées et approuvées par l’éditeur et/ou par Audit Conseil Formation.

Dates des formations
Du 06/11/2024 au 08/11/2024Demander un devis
Logo ACF

Demande de devis

Formation
Cadre
Pôle Emploi
Nom/Prénom
Société
E-mail
Téléphone
Période
Evaluer mon niveau

Les objectifs

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

pré-requis

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

Moyens pédagogiques, techniques et d'encadrement

  • 1 poste de travail complet par personne
  • De nombreux exercices d'application
  • Mise en place d'ateliers pratiques
  • Remise d'un support de cours
  • Remise d'une attestation de stage

Modalités d'évaluation des acquis

- Evaluation des besoins et objectifs en pré et post formation
- Evaluation technique des connaissances en pré et post formation
- Evaluation générale du stage

Accessibilité handicapés

  • Au centre d’affaires ELITE partenaire d’ACF à 20 m.
  • Guide d’accessibilité à l’accueil.

Le Programme

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

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.

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.

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.

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.

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.

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.