Formation Java

programmation avancée :

Ce cours a un double objectif. D'une part, approfondir certains aspects avancés de Java (types génériques, annotations, programmation réflexive, chargement des classes). D'autre part, présenter un panorama synthétique des principales librairies concernant la gestion des threads, les communications via le réseau, l'administration et la supervision des applications. Ce cours insiste par ailleurs sur les techniques architecturales associées.

Objectifs pédagogiques :

  • Maîtriser les aspects avancés du langage Java
  • Mettre en œuvre la programmation concurrente à base de threads
  • Mettre en œuvre différentes techniques de communication (Socket, RMI, JMS)
  • Comprendre le modèle de sécurité et le chargement des classes Java
  • Administrer une application Java via JMX, surveiller la JVM
  • Mettre en œuvre la programmation réflexive
Formation Java

Tarification et déroulement

Formation continue

400 DH/Mois ≈

  • Type de formation : En groupe
  • Volume horaire : 48 heures
  • Durée de la formation : 5 mois
  • Début de la formation : Le
  • Dernier délais d'inscription : Le
  • Déroulement : Une séance de 2h par semaine
  • Horaire : À déterminer après la fin de votre inscription pour s'adapter aux emplois de temps des inscrits

Formation continue Accélérée

1000 DH/Mois ≈

  • Type de formation : En groupe
  • Volume horaire : 48 heures
  • Durée de la formation : 2 mois
  • Début de la formation : Le
  • Dernier délais d'inscription : Le
  • Déroulement : 3 séances de 2h par semaine
  • Horaire : À déterminer après la fin de votre inscription pour s'adapter aux emplois de temps des inscrits

Formation Accélérée

5000 DH ≈

  • Type de formation : Individuel
  • Volume horaire : 40 heures
  • Début de la formation : Dans un délais de 24 h aprés la validation de votre inscription
  • Horaire : Flexible selon votre disponibilité et la disponibilité de l'enseignant
  • Répartition des heures de la formation : vous pouvez terminer dans un délais de 5 jours ou bien répartir votre heures selon votre rythme, votre engagement

Formation continue

1000 DH/Mois ≈

  • Type de formation : Individuel
  • Volume horaire : 40 heures
  • Durée de la formation : 5 mois
  • Début de la formation : Dans un délais de 24 h aprés la validation de votre inscription
  • Déroulement : Une séance de 2h par semaine
  • Horaire : À déterminer après la fin de votre inscription
×

Formulaire d'inscription à l'Ecole Polytechnique des Génies

Virement Bancaire

Comment dois-je faire pour payer les frais d'inscription

Competence Center met à votre disposition des méthodes de paiement flexibles et en toute sécurité

Paiement par virement bancaire (RIB : 127270212119022082000414).

Paiement en cash chez notre centre (À côté de la pharmacie Bahja sur l'avenue Mhd 5, au-dessus du café El Mamouniya).

Programme de formation

1 Quelques aspects avancés du langage :

  • Les Inner Classes. Les classes anonymes.
  • La redéfinition covariante des méthodes (jdk1.5).
  • Les nouvelles boucles for (jdk1.5).
  • Les Import Static (jdk1.5).
  • L'auto-boxing, auto-unboxing (jdk1.5). Les varargs (jdk1.5).
  • Les types énumérés (jdk1.5). Utilisation et définition.
  • Les types génériques (jdk1.5). L'utilisation et la définition de types génériques simples.
  • La généricité et la relation de sous-typage.
  • Les types génériques à l'exécution, les types génériques et l'instanciation, les types génériques et les tableaux.
  • Les méthodes génériques. L'utilisation simultanée des types génériques et non génériques.
  • Les annotations (jdk1.5 et jdk1.6). Principes. Les annotations prédéfinies (@override, @deprecated, @generated...).
  • La définition de nouvelles annotations.
  • Les méta-annotations (@Retention, @Target, @Documented, @Inherited). L'utilisation réflexive des annotations..
  • Support du wildcard dans le classpath (jdk1.6).
  • Nouveautés sur les collections (jdk1.5 et jdk1.6) : les Queues, les ConcurrentMap...
  • TP : Utilisation des types génériques et des annotations.

2 La programmation concurrente :

  • Définitions relatives à la programmation concurrente : les threads.
  • La création/destruction des threads. Ordonnancement des threads.
  • La synchronisation des threads. Le verrouillage des méthodes et des instructions (synchronized). Les moniteurs.
  • Principes méthodologiques pour la conception d'applications multithreadées.
  • Les problèmes posés par la programmation multithread.
  • Le problème de l'interblocage (caractérisation, évitement, prévention, détection). Le problème de la famine.
  • La librairie concurrente de JDK1.5. Les nouvelles collections.
  • Les nouveaux outils de synchronisation : les verrous partagés/exclusifs, les sémaphores, les barrières cycliques.
  • TP : Construction d'une application concurrente avec synchronisation et résolution d'inter blocage.

3 La communication par socket :

  • Rappels sur les principaux concepts réseaux.
  • La programmation en mode non connecté (par datagram). Le modèle Peer to Peer.
  • La communication en mode connecté (par stream).
  • Le modèle client/serveur. Serveur séquentiel versus serveur concurrent. Utilisation de la sérialisation.
  • La librairie nio. Les buffers, channels. Les sélecteurs et leur utilisation.
  • TP : Programmation de l'étude de cas en mode client-serveur (séquentiel et concurrent).

4 La communication par invocation de méthode distante : RMI :

  • Les principes généraux.
  • Les 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.
  • TP : Programmation de l'étude de cas à l'aide de RMI.

5 La communication par messages : JMS :

  • Les principes généraux de la communication par messages.
  • Les concepts de JMS, les interfaces et les classes correspondantes.
  • Les différentes formes de messages.
  • La communication en mode point à point.
  • La communication en mode publish/subscribe.
  • TP : Programmation de l'étude de cas à l'aide de JMS.

6 La sécurité et le chargement de classes :

  • Les aspects avancés et moins connus de la JVM.
  • Les mécanismes liés à la JVM pour assurer la sécurité.
  • Le modèle de sécurité de Jdk1.2 : les permissions, les politiques, les domaines de sécurité.
  • Le gestionnaire de sécurité et le contrôleur d'accès.
  • Les mécanismes de chargement de classes.
  • Le développement de chargeurs de classes spécifiques.

7 Présentation de JMX (Java Management Extension) :

  • La distinction entre l'application à administrer et l'application d'administration.
  • Les concepts de JMX : MBean, MBeanServer, Agent, Connector.
  • Les API JMX.
  • La mise en œuvre des différentes catégories de Mbeans (standard, dynamiques, model).
  • L'utilisation des adaptateurs et des connecteurs.
  • Les consoles d'administration.
  • TP : Mise en place d'une couche d'administration-supervision pour l'étude de cas.

8 La programmation réflexive :

  • Objectifs et principes.
  • Le chargement de classes. L'objet Class.
  • Découverte dynamique des informations (propriétés et méthodes) relatives à une classe ou à un objet.
  • Instanciation dynamique.
  • Invoquer une méthode.
  • La réflexivité des annotations en Java 5.

Notre priorité

Formation flexible

Vous souhaitez actualiser vos connaissances ou acquérir un diplôme ? Choisissez parmi les différentes formations en informatique le cours qui vous convient, à vos rythme, tout au long de vos formation.

Qualités requises

L’informatique est un outil majeur de stratégie et de compétitivité. Il est devenu indispensable aux entreprises et au grand public... Profitez des conseils avec nous pour bien maîtriser l’informatique.

Formation à distance

Il est possible de devenir webmaster, webdesigner ou référenceur... Profitez avec notre centre des formations diplômantes et certifiantes à distance pour s’orienter aux métiers du web.

prix compétitifs

Depuis la création de notre centre, nous ne cessons de développer nos connaissances pour assurer de formation performante avec un prix abordable, raisonnable et particulièrement avantageux.