Formation Java Intermédiaire
Approfondir ses connaissances en Java
Durée : 3 jour(s)
Référence : JAVA-AV-04
|
- Offert en inter-entreprise
|
Petit déjeuner
Déjeuner
Qualification téléphonique
|
|
La prochaine session est animée par
|
Arnaud Cogoluègnes est architecte Java EE chez Zenika et expert
Spring. Il effectue des missions de conseil et de développement auprès
de grands comptes et dispense pour SpringSource les formations Core
Spring, Spring Web et Enterprise Integration. Arnaud est co-auteur de
la seconde édition de Spring par la Pratique, de Spring Dynamic
Modules in Action et de Spring Batch in Action. |
|
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
Introspection (java.lang.reflect)
- Analyser une classe
- Accéder aux champs et méthodes
- Créer une nouvelle instance
- Cas particuliers : génériques, tableaux et enums
Annotations
- Présentation et historique
- Utilisation
- Annotations personnalisées
- Annotations et réflexion
Multi-threading et parallélisme
- 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
- Notion de classe « thread-safe », immutabilité
- Synchronisation, volatilité et visibilité mémoire
- Variables atomiques et collections synchronisées
- Synchronisation des threads avec wait, notify et join
Sérialisation
- Rappels sur la sérialisation
- Serializable et Externalizable
- Sérialisation et désérialisation personnalisées
SPI et découverte dynamique de services
- Notions de SPI et de Service
- Découverte dynamique
- Use-case : système de plugins
|
|