Gaëtan TEMATE
Lead Tech Java | AWS | React
© 2025 All rights reserved.
Java Core avancé – 6H
Heure 1: Généricité (Generics) (1 heure)
- Concepts de base des Génériques
- Pourquoi utiliser les génériques ?
- Types génériques et avantages
- Classes et Méthodes Génériques
- Définir des classes et méthodes génériques
- Wildcards (
? extends
,? super
) - Bounded types (types bornés)
- Exercices pratiques.
Heure 2: Modificateurs d’accès avancés et annotations (1 heure)
- Modificateurs d’accès
- Modificateurs
final
,static
, ettransient
- Variables constantes et membres de classe statiques
- Modificateurs
- Annotations
- Comprendre les annotations intégrées (comme
@Override
,@Deprecated
) - Créer des annotations personnalisées
- Annotations de traitement avec
Reflection
- Exercices pratiques.
- Comprendre les annotations intégrées (comme
Heure 3: Envolée dans les Collections Avancées (1 heure)
- Collections Avancées
- Comparaison entre
ArrayList
etLinkedList
- Différences entre
HashSet
etTreeSet
- Comparer les performances des structures de données
- Comparaison entre
- Comparateurs et Tri
- Interface
Comparable
vsComparator
- Tri personnalisé des objets avec
Comparator
- Exercices pratiques.
- Interface
Heure 4: Concurrence et Multithreading (1 heure)
- Concepts de Base du Multithreading
- Threads et processus
- Créer et gérer des threads avec
Runnable
etThread
- Gestion de la Concurrence
- Synchronisation, verrous (
synchronized
,Lock
) - Exécuteurs (
ExecutorService
) - Classes atomiques (
AtomicInteger
, etc.) - Exercices pratiques.
- Synchronisation, verrous (
Heure 5: Entrée/Sortie (I/O) et NIO (1 heure)
- API classique de Java I/O
- Utilisation de
File
,FileInputStream
,FileOutputStream
- Bufférisation avec
BufferedReader
etBufferedWriter
- Utilisation de
- API Java NIO
- Avantages de NIO par rapport à I/O traditionnel
- Utilisation des classes
Path
,Files
etByteBuffer
- Canal (Channel) et sélecteurs (Selector)
- Exercices pratiques.
Heure 6: API Stream Avancée et Manipulation des Données (1 heure)
- Opérations sur les Streams
- Transformations avancées avec
map
,flatMap
- Réductions et Collectors (groupBy, partitioningBy)
- Transformations avancées avec
- Programmation Fonctionnelle avec Streams
- Lazy evaluation et parallel streams
- Optimisation de la performance des Streams
- Exercices pratiques.