ORSYS formation
NOUS CONTACTER - +33 (0)1 49 07 73 73
NOUS CONTACTER - 📞 +33 (0)1 49 07 73 73    espace pro ESPACE PRO     inscription formation orsys S'INSCRIRE     drapeau francais   drapeau anglais

Nos formations :

Toutes nos formations Java, Java EE

Formation Java, programmation avancée

4,2 / 5
Stage pratique
Best
Durée : 5 jours
Réf : JAP
Prix  2019 : 2710 € H.T.
Pauses et déjeuners offerts
  • Programme
  • Participants / Prérequis
  • Intra / sur-mesure
  • avis vérifiés
Programme

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

Travaux pratiques

Ce cours illustre les principes exposés par la construction progressive d'une application en Java.
PROGRAMME DE FORMATION

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...

Travaux pratiques
Utilisation des types génériques et des annotations.

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.

Travaux pratiques
Construction d'une application concurrente avec synchronisation et résolution d'interblocage.

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.

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.
  • 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.

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.
  • 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.

Travaux pratiques
Programmation de l'étude de cas à l'aide de JMS.

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.

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.

Travaux pratiques
Mise en place d'une couche d'administration-supervision pour l'étude de cas.

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.
Participants / Prérequis

» Participants

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

» Prérequis

Bonnes connaissances du langage Java. Expérience requise en programmation Java.
Intra / sur-mesure

Demande de devis intra-entreprise
(réponse sous 48h)

Vos coordonnées

En cochant cette case, j’atteste avoir lu et accepté les conditions liées à l’usage de mes données dans le cadre de la réglementation sur la protection des données à caractère personnel (RGPD).
Vous pouvez à tout moment modifier l’usage de vos données et exercer vos droits en envoyant un email à l’adresse rgpd@orsys.fr
En cochant cette case, j’accepte de recevoir les communications à vocation commerciale et promotionnelle de la part d’ORSYS Formation*
Vous pouvez à tout moment vous désinscrire en utilisant le lien de désabonnement inclus dans nos communications.
* Les participants inscrits à nos sessions de formation sont également susceptibles de recevoir nos communications avec la possibilité de se désabonner à tout moment.
Avis vérifiés
picto avis vérifiés
Aurélien P. 04/11/2019
4 / 5
Bon formateur qui a su garder un bon rythme pour faire rentrer tous les programme en peu de temps, malgré un niveau des stagiaires hétérogène. Le programme était intéressant et surtout très utile.

Naziba R. 04/11/2019
5 / 5
Cours très explicite et détaillé avec la partie théorique et pratique. Laisse le temps de comprendre et de faire les exercices.

Sylvain K. 04/11/2019
5 / 5
Très bon contenu et très bonne pédagogie. Les exercices de TP auraient pu être un peu plus pré-remplis.

Julien P. 09/09/2019
3 / 5
Trop de temps passé sur RMI (quasiment 1 jour et demi) qui n'est plus utilisé aujourd'hui. Pas assez de temps passé sur les sujets qui m'intéressaient.

brice G. 09/09/2019
4 / 5
Contenu légèrement vieillot et quelques sujets à mon avis trop développés (RMI par exemple)

Rochette 09/09/2019
4 / 5
Je m'attendais à du JAVA PLUS avancé, plus poussé, plus compliqué. RMI : périmé. Webservices SOAP, REST seraient beaucoup plus d'actualité. Les TPs prennent trop de temps, la fin du cours ne peut pas être abordée de manière prolongée.

Mickael E. 09/09/2019
5 / 5
a parfaitement répondu à mes attentes

Jean V. 24/06/2019
5 / 5
Très intéressant, et adapté sur mesure. Merci!

TCHUENTE T. 24/06/2019
5 / 5
Très explicit, facile à comprendre

Sakana K. 17/06/2019
4 / 5
Contenu très bien. Cependant, trop de temps passé sur les exercices parfois. Il y avait un grand décalage de niveau entre les différentes personnes. L'idéal serait de cibler en fonction des niveaux, ou de préciser le public attendu.

Océane B. 17/06/2019
3 / 5
J'aurais aimé passer plus de temps sur des TP avec un niveau de difficulté plus élevé.

Yohan P. 17/06/2019
4 / 5
Pédagogie : parfaite Contenu : déjà vu pour la plupart des sujets mais très intéressants

Murielle F. 17/06/2019
4 / 5
stage intéressant mais beaucoup de sujets abordés

yvan P. 17/06/2019
5 / 5
Bon formateur

Adrien G. 15/04/2019
5 / 5
Le formateur a pris le temps de prendre en compte nos niveaux individuels pour pouvoir comprendre nos questions et y répondre au mieux, tout en faisant un cours intéressant et dynamique pour que chacun y trouve son compte.

Romain W. 17/12/2018
5 / 5
Contenu en rapport avec l'intitulé du cours, très satisfait de la pédagogie du formateur
Avis client 4,2 / 5

Les avis client sont issus des feuilles d’évaluation de fin de formation. La note est calculée à partir de l’ensemble des avis datant de moins de 12 mois.

En poursuivant votre navigation, vous acceptez l’utilisation de cookies nous permettant de vous proposer des offres correspondant à vos centres d’intérêt.
En savoir plus sur l’usage des cookies…   ✖ Fermer
linkedin orsys
twitter orsys
it! orsys
instagram orsys
pinterest orsys
facebook orsys
youtube orsys