Jav11 - 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
-
Niveau
Niveau avancé
-
Dirigé à
Pour professionnels
-
Lieu
Tunis (Tunisie)
-
Durée
5 Jours
-
Dates de début
Dates au choix
Objectifs: 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. Destinataires: Développeurs, Ingénieurs, chefs de projets proches du développement
Précisions importantes
Modalité Formation continue
Les sites et dates disponibles
Lieu
Date de début
Date de début
À propos de cette formation
Ce cours de niveau avancé est destiné à des participants connaissant déjà le langage Java et qui programment
régulièrement.
Les Avis
Le programme
Cours : JAVA11 - JAVA, PROGRAMMATION AVANCEE
1er jour :
Quelques aspects avancés du langage
Cette partie du présente essentiel lement les éléments nouveaux du langage. El le insiste sur les points les plus intéressants mais aussi les plus complexes, à savoir les types génériques et les annotations.
- 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). L'uti l isation et la définition.
- Les types génériques (jdk1.5). L'uti lisation et la définition de types génériques simples. La généricité et la relat ion de sous-typage : le type ? Le mécanisme d'effacement et ses conséquences : 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). Les objectifs et les principes. Les annotations prédéfinies ;Warnings). La définition de nouvel les annotations. Les méta-annotations .
L'utilisation réflexive des annotations à l'exécution.
Travaux pratiques
- Utilisation des types génériques et des annotations.
La programmation concurrente
- La programmation concurrente est un aspect important du langage : elle offre une solution élégante et eff icace à 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 relat ives à la programmation concurrente : les threads. La création/destruction des threads. Ordonnancement des threads
- La synchronisation des threads. Le verrouil lage des méthodes et des instructions (synchronized). Les moniteurs.
- Principes méthodologiques pour la conception d'applications mult ithreadées.
2ème jour :
- Les problèmes posés par la programmation multithread. Le problème de l 'interblocage (caractérisat ion, évitement, prévention, détection). Le problème de la famine.
- La librairie concurrente de JDK1.5. Les nouvelles collections. Les nouveaux out i ls 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 programmation des communications distantes
- Le langage propose de nombreuses librairies de communication. On présente les plus uti l isées et représentatives en insistant sur leurs particulari té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 uti lisation.
3ème jour :
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.
4ème jour :
L'administration et la supervision
- L'administration et la supervision des applicationsprennent 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'uti l isation des adaptateurs et des connecteurs.
- Les consoles d'administration.
La programmation réflexive
La sécurité et le chargement de classes On aborde ici des aspects avancés et moins connus de la JVM.
- Les mécanismes l iés à la JVM pour assurer la sécurité. Le modèle de sécurité de Jdk1.2 : les permissions, les pol itiques, 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.
Informations complémentaires
Avez-vous besoin d'un coach de formation?
Il vous aidera à comparer différents cours et à trouver la solution la plus abordable.
Jav11 - Java, Programmation Avancée