Zenika débarque sur Android
L'expertise Zenika dans votre poche !
>> Détails <<
Java avancé
Appronfondir ses connaissances en Java
Référence : JAVA-AV-04
Durée : 4 jour(s)

Lieu Date de début Prix (HT) Formateur Réserver
Paris 04 octobre 2010  1990 € Envoyer
Paris 02 novembre 2010  1990 € Envoyer

Objectifs
  • Pousser plus avant la maîtrise du langage Java
  • Comprendre et maîtriser les architectures des applications concurrentes
  • Maîtriser les API de communication entre applications Java
Répartition : 50% Théorie, 50% Pratique
Public : Architecte, Développeur, Chef de projet,
Pré-requis : Connaissance de Java,

Programme

Contrôler la qualité du code avec les Assertions

  • Présentation et cas d'utilisation
  • Syntaxe des assertions
  • Activer sélectivement les assertions à la compilation, au runtime

Types paramétrés (« Generics »)

  • Présentation et avantages
  • Notion d'effacement de type
  • Types bornés et indéfinis
  • Comprendre les API et collections paramétrées
  • Développer des classes et méthodes paramétrées
  • Limitations

Réflexion

  • Analyser une classe
  • Accéder aux champs et méthodes
  • Créer une nouvelle instance
  • Cas particuliers : génériques, tableaux et enums
  • Proxies dynamiques

Maîtriser les Threads

  • Notion de Thread et cycle de vie
  • Lancer un thread : Thread et Runnable
  • Arrêter proprement un thread
  • Interruption prématurée du traitement
  • Threads démons, priorité, groupes de threads
  • Variables Threadlocal

Thread Safety

  • Notion de classe « thread-safe », immutabilité
  • Synchronisation, volatilité et visibilité mémoire
  • Variables atomiques et collections synchronisées

Architectures concurrentes

  • Synchronisation des threads avec wait, notify et join
  • Le framework Executor
  • Queues, Latches, Barrières et Sémaphores
  • Design patterns concurrents

Sérialisation

  • Rappels sur la sérialisation
  • SerialVersionUID et compatibilité binaire
  • Serializable et Externalizable
  • Sérialisation et désérialisation personnalisées

NIO

  • Comparaison avec java.io
  • Comprendre les Buffers
  • Manipuler des données volumineuses avec le mapping en mémoire
  • Opérations asynchrones avec les Channels et les Selectors

Classloaders

  • Définition et hiérarchie des classloaders
  • Quand une classe est-elle chargée ?
  • Fonctionnement interne : findclass(), defineClass() et loadClasss()
  • Implémenter un classloader personnalisé

SPI et découverte dynamique de services

  • Notions de SPI et de Service
  • Découverte dynamique
  • Use-case : système de plugins
* Les livres sont offerts uniquement pour les formations inter-entreprise. Zenika se réserve le droit de changer le livre proposé à tout moment.
 Télécharger
>>Descriptif du cours
>>Bulletin d'inscription

Offert en inter-entreprise
>>Le petit déjeuner (croissants, jus d'orange, café)
>>Le déjeuner
>>Une qualification téléphonique si nécessaire avec l'un de nos consultants
>>Le livre  Java Puzzlers*