JAV06 Java, programmation avancée
Formation
À Tunis (Tunisie)
Avez-vous besoin d'un coach de formation?
Il vous aidera à comparer différents cours et à trouver la solution la plus abordable.
Description
-
Typologie
Formation
-
Lieu
Tunis (Tunisie)
Ce cours a un double objectif. D'une part, approfondir certains aspects avancés et parfois relativement complexes du langage (les inner classes, les types génériques, les annotations, le chargement des classes, la sécurité interne à la JVM). D'autre part, présenter un panorama synthétique des principales librairies concernant les thèmes suivants : 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 associées à leur bonne utilisation.
Les sites et dates disponibles
Lieu
Date de début
Date de début
Les Avis
Le programme
- 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).
- Les varargs (jdk1.5).
- L'auto-boxing, auto-unboxing (jdk1.5).
- Les types énumérés (jdk1.5).
- Les types génériques (jdk1.5).
- Les annotations (jdk1.5).
- La programmation concurrente
- La programmation concurrente est un aspect important du langage : elle offre une solution élégante et efficace à de nombreux problèmes difficiles à résoudre autrement (en particulier la construction de serveurs performants). Cette forme de programmation comporte cependant des pièges. On étudie le plus courant d'entre eux : l'interblocage.
- 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,
- La programmation des communications distantes
- Le langage propose de nombreuses librairies de communication. On présente les plus utilisées et représentatives en insistant sur leurs particularités et leurs domaines d'application.
- 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 vs serveur concurrent. Utilisation de la sérialisation.
- La librairie nio. Les buffers, channels. Les sélecteurs et leur utilisation.
- 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.
- 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.
- L'administration et la supervision
- L'administration et la supervision des applications prennent une importance de plus en plus grande. JMX est le standard qui semble s'imposer aujourd'hui dans le monde Java, en particulier grâce à son modèle simple mais puissant mais aussi grâce à sa nature peu intrusive.
- 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 oeuvre des différentes catégories de Mbeans (standard, dynamiques, model).
- L'utilisation des adaptateurs et des connecteurs.
- Les consoles d'administration.
- La sécurité et le chargement de classes
- On aborde ici des 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.
Avez-vous besoin d'un coach de formation?
Il vous aidera à comparer différents cours et à trouver la solution la plus abordable.
JAV06 Java, programmation avancée