12.07.2015 Views

3 jours - Groupe ESIC

3 jours - Groupe ESIC

3 jours - Groupe ESIC

SHOW MORE
SHOW LESS
  • No tags were found...

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

JAVA - Programmation avancéeObjectifs5 <strong>jours</strong>Ce cours a un double objectif.D’une part, approfondir certainsaspects avancés et parfois relativementcomplexes du langage(les inner classes, les types génériques,les annotations, le chargementdes classes, la sécuritéinterne à la JVM). D’autre part,présenter un panorama synthétiquedes principales librairiesconcernant les thèmes suivants :la gestion des threads, les communicationsconcurrentes…PublicInformaticiens. Développeurs.PrérequisCe cours de niveau avancéest destiné à des participantsconnaissant déjà le langage Javaet qui programment régulièrement.Quelques aspects avancés du langage- Les inner classes.- Les classes anonymes.(jdk1.5).- Les nouvelles boucles for (jdk1.5).- Les import static (jdk1.5).- Les varargs (jdk1.5).- L’auto-boxing, auto-unboxing (jdk1.5).- Les types énumérés (jdk1.5). L’utilisation- Les types génériques (jdk1.5). L’utilisa-simples. La généricité et la relation desous-typage : le type ? Le mécanismed’effacement et ses conséquences : lestypes génériques à l’exécution, les typesgénériques et l’instanciation, les typesgénériques et les tableaux. Les méthodesgénériques. L’utilisation simultanée destypes génériques et non génériques.- Les annotations (jdk1.5). Les objectifset les principes. Les annotations pré-vellesannotations. Les méta-annotationstationsà l’exécution.La programmation concurrenteCette forme de programmation comportedes pièges. On étudie le plus courantd’entre eux : l’interblocage.concurrente : les threads. La création/destruction des threads. Ordonnancementdes threads- La synchronisation des threads. Le verrouillagedes méthodes et des instructions(synchronized). Les moniteurs.- Principes méthodologiques pour laconception d’applications multithreadées.- Les problèmes posés par la programmationmultithread. Le problème del’interblocage (caractérisation, évitement,prévention, détection). Le problème de lafamine.- La librairie concurrente de JDK1.5. Lesnouvelles collections. Les nouveaux outilsde synchronisation : les verrous partagés/exclusifs, les sémaphores, les barrièrescycliques, ....les plus utilisées et représentatives eninsistant sur leurs particularités et leursdomaines d’application.La communication par socketréseaux.- La programmation en mode nonconnecté (par datagram). Le modèle peerto peer- La communication en mode connecté(par stream). Le modèle client/serveur.Serveur séquentiel vs serveur concurrent.Utilisation de la sérialisation.- La librairie nio. Les buffers, channels. Lessélecteurs et leur utilisation.La communication par invocation deméthode distante : RMI- Les principes généraux.- Les classes de base.- Le service de nommage.- Le processus de développement duclient et du serveur.- Les contraintes de sécurité et de chargementde classes.La communication par messages : JMS- Les principes généraux de la communicationpar messages.- Les concepts de JMS, les interfaces et lesclasses correspondantes.- Les différentes formes de messages.- La communication en mode point àpoint.- La communication en mode publish/subscribe.L’administration et la supervisionPrésentation de JMX (Java ManagementExtension)- La distinction entre l’application à administreret l’application d’administration.- Les concepts de JMX : MBean, MBean-Server, Agent, Connector.- Les API JMX.- La mise en oeuvre des différentes catégoriesde Mbeans (standard, dynamiques,model).- L’utilisation des adaptateurs et desconnecteurs.- Les consoles d’administration.DéveloppementLa programmation des communicationsdistantes- Le langage propose de nombreuseslibrairies de communication. On présenteLa sécurité et le chargement de classesOn aborde ici des aspects avancés etmoins connus de la JVM.Page 56Toutes nos formations sur http://www.esic-online.com Page 1/1

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!