JAVA POO avancée et librairies Java
Description
-
Concepts avancés de la programmation OO : encapsulation, héritage, polymorphisme
-
Les classes internes et anonymes
-
Gestion avancée des exceptions et des ressources
-
Utilisation de la bibliothèque des collections (Collections Framework)
-
Les Streams et la programmation fonctionnelle en Java 8+
-
Utilisation des expressions lambda
-
Utilisation des interfaces fonctionnelles et des méthodes par défaut
-
Les generics en Java
-
Bibliothèques Java courantes : Apache Commons, Google Guava, Jackson pour la sérialisation JSON
-
Manipulation des fichiers avec NIO (New I/O)
-
Programmation multi-thread avec les bibliothèques Java Concurrency
-
Introduction à la programmation réactive avec RxJava
Cette formation s'adresse à toute personne souhaitant utiliser es concepts avancés de la programmation orientée objet (OO) en Java ainsi que sur l’utilisation de bibliothèques Java courantes.
Quels sont les buts de la formation ?
- Utiliser les concepts avancés de la programmation orientée objet en Java
- Comprendre et utiliser les collections avancées et les Streams Java
- Utiliser des bibliothèques Java pour simplifier les tâches courantes comme la manipulation de fichiers, la gestion des ressources et le traitement des données
- Savoir implémenter des solutions concurrentes en utilisant Java Concurrency et des threads
- Découvrir la programmation réactive avec RxJava
Que devez vous connaître pour suivre la formation ?
Bonne maîtrise de la programmation Java de base et de la programmation orientée objet.
Programme de la formation
Programmation orientée objet avancée en Java
- Révision des concepts de base : héritage, encapsulation, polymorphisme
- Classes internes, classes locales et classes anonymes
- Conception de classes immuables et final
- Les interfaces et les classes abstraites avancées
- Gestion avancée des exceptions (try-with-resources, suppression d'exceptions)
- Modèles de conception courants (Design Patterns) : Singleton, Factory, Observer, Strategy
Les Generics en Java
- Introduction aux Generics : pourquoi et comment les utiliser
- Création de classes et de méthodes génériques
- Les wildcards (? extends, ? super)
- Les avantages et inconvénients des Generics dans le code Java
Bibliothèque des Collections Java (Collections Framework)
- Les collections de base : List, Set, Map
- Collections synchronisées et non synchronisées
- Utilisation des classes utilitaires : Collections et Arrays
- Itérateurs et manipulation des collections avancées
- Introduction à la programmation fonctionnelle avec les Streams Java
- Opérations sur les Streams : filter, map, reduce
- Parallélisme avec les Streams
Programmation fonctionnelle en Java 8+
- Introduction aux lambdas : syntaxe et usage
- Interfaces fonctionnelles et méthodes par défaut
- Utilisation des lambdas avec les collections
- Méthodes de référence et leur usage dans le code Java
Gestion des fichiers et flux avec NIO
- Introduction à l’API NIO (New I/O)
- Manipulation des fichiers avec Path, Files et FileVisitor
- Gestion des canaux (Channels) et des buffers (Buffers)
- Gestion asynchrone des fichiers avec NIO.2
Programmation concurrente en Java
- Introduction aux Threads et au modèle de mémoire Java
- Création et gestion de threads (Runnable, Callable)
- Synchronisation, locks et gestion des données partagées
- Executors et gestion des pools de threads
- Outils de synchronisation avancée : CountDownLatch, Semaphore, CyclicBarrier, etc.
- Introduction à java.util.concurrent et la gestion des tâches asynchrones
Utilisation des bibliothèques Java courantes
- Apache Commons : manipulation des fichiers, gestion des ressources, collections avancées
- Google Guava : caches, collections immuables, utilities
- Jackson : sérialisation et désérialisation JSON
Introduction à la programmation réactive avec RxJava
- Qu'est-ce que la programmation réactive ?
- Principes fondamentaux de RxJava : Observables, Subscribers, Operators
- Création de flux réactifs en Java
- Gestion de la concurrence réactive
Exercices pratiques
- Conception de classes avancées en Java, utilisation des Generics
- Manipulation des collections avancées avec les Streams
- Programmation multi-thread avec les pools de threads et les outils de synchronisation
- Manipulation de fichiers avec l'API NIO
- Utilisation d’Apache Commons et Google Guava pour des tâches courantes
- Sérialisation et désérialisation d’objets en JSON avec Jackson
- Mise en place de la programmation réactive avec RxJava



Chargement...