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.
What are the aims of the training?
-
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
What do you need to know to follow the training?
Bonne maîtrise de la programmation Java de base et de la programmation orientée objet.
Training programme
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