Jav11 - Java, Programmation Avancée

Formation

À Tunis (Tunisie)

790 € TTC

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

Tunis (Tunisie)
Rue 8609 N°18 Z.I. Charguia 1, 1035

Date de début

Dates au choixInscriptions ouvertes
Dates au choixInscriptions ouvertes

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

Questions / Réponses

Ajoutez votre question

Nos conseillers et autres utilisateurs pourront vous répondre

À qui souhaitez-vous addresser votre question?

Saisissez vos coordonnées pour recevoir une réponse

Nous ne publierons que votre nom et votre question

Emagister S.L. (responsable du traitement) traitera vos données pour mener des actions promotionnelles (par e-mail et/ou téléphone), publier des avis ou gérer des incidents. Vous pouvez consulter vos droits et gérer votre désinscription dans la politique de confidentialité.

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

Nombre d'élèves par classe : 8

Jav11 - Java, Programmation Avancée

790 € TTC