Formation Java avancé

Formation Java avancé

Threading avancé, programmation réactive et techniques de développement avancées pour des applications Java plus performantes avec notre formation Java Avancé

Prix (Formation inter-entreprise)

1800€ HT / personne

Durée

3 jours

Dates

Nous pouvons organiser des sessions à d'autres dates ou dans d'autres villes (Bordeaux, Lille, Lyon, Marseille, Montpellier, Nantes, Nice, Paris, Strasbourg, Toulouse...)

Lors de cette formation pratique Java, vous approfondirez la gestion de la concurrence, les échanges inter-applicatifs, l'extension de fonctionnalités et les techniques avancées de développement d'applications Java.

Cet apprentissage Java s'adresse aux développeurs·se·s Java expérimenté·e·s souhaitant approfondir leurs connaissances. Elle est basée sur la version 17 de Java.
Pour les développeurs·euses débutant avec Java, les formations Java et Java intermédiaire sont faites pour vous.

Grâce à la création d'une application de gestion de tâches, vous mettrez immédiatement en pratique les notions abordées : de la gestion de la concurrence d’accès à la modularisation de l’application en passant par la découverte de la programmation réactive et de la programmation par aspect. À l'issue de la formation, l'application réalisée sera opérationnelle et pourra être utilisée comme modèle pour des projets à venir.

Besoin d'approfondir vos compétences ? Nous proposons aussi des formations JPA, Design Patterns et Spring.

Les objectifs

  • Comprendre et maîtriser les accès concurrents
  • Programmer avec des APIs asynchrones
  • Savoir étendre son code
  • Débugger efficacement

Pré-requis

  • Maîtrise du language Java (POO, collections, lambdas, streams)
  • Ordinateur portable à apporter

Le programme de la formation Java avancé

Jour 1 : Threading et Concurrence

  • Approfondir les techniques de synchronisation, couvrant l'utilisation de blocs synchron (synchronised blocks, Locks, Sémaphores, CountDownLatch, …)
  • Explorer les collections et leur utilisation dans un contexte concurrent
  • Étudier la gestion des threads (thread pools, Executor Service, ThreadLocal)
  • Comprendre les mécanismes de gestion des threads dans les serveurs d'application

Mise en pratique :
- Créer le projet “fil rouge”
- Gérer les écritures simultanées de tâches dans un fichier
- Lancer des tâches de manière asynchrone
- Découvrir la gestion des fils dans un serveur d’application


Jour 2 : Échanges Inter-Applicatifs

  • Explorer l'utilisation des CompletableFuture pour créer des chaînes de traitement asynchrones, gérer les tâches futures et effectuer des opérations parallèles.
  • Approfondir les concepts de programmation réactive, en explorant la spécification Reactive Streams, l'API Flow et R2DBC.
  • Parcourir les techniques pour créer, surveiller et gérer des processus système à partir d'applications Java.
  • Etudier la journalisation en abordant la manière de suivre et d'analyser les activités de l'application.

Mise en pratique :
- Lister les tâches selon certains critères de manière non bloquante
- Utiliser les logs pour afficher les informations d’exécution


Jour 3 : Extensions Applicatives
  • Approfondir la gestion des dépendances et des concepts modulaires pour organiser efficacement les composants de l'application et favoriser la réutilisation.
  • Explorer l'Inversion de Contrôle en utilisant le Service Loader pour découpler les composants.
  • Comprendre la programmation par aspect en étudiant comment séparer et gérer les préoccupations transversales dans le code.
  • Appréhender l'instrumentation du code en utilisant javaagent et l'API Instrument pour apporter des modifications au bytecode et intercepter les comportements.
  • Découvrir la collecte de données à des fins de profiling et de surveillance, en utilisant des outils comme Java Management Extensions (JMX)

Mise en pratique :
- Logguer toutes les entrées/sorties de méthodes utilisant la programmation par aspect
- Suivre la consommation mémoire de l’application avec les outils du JDK

Télécharger le programme

Le(s) formateur(s)

Guillaume DROUET

Guillaume DROUET

Guillaume est développeur depuis 10 ans et spécialisé dans le monde des APIs WEB. Il a travaillé en tant que consultant et formateur en ESN puis en startup dans la région Lilloise.

Aujourd'hui, il est freelance et intervient en tant que tech lead chez ses clients où il les conseille au quotidien sur des problématiques de qualité du code, d'architecture et de performance applicative.

Il aime partager et apprendre via différents axes, c'est pour cela que il donne des formations en parallèle de ses missions. A ce titre, il est également vacataire à l'Université depuis 2014.

Voir son profil détaillé

Vincent LE SQUERE

Vincent LE SQUERE

En 2005, à Brest, suite à l'obtention de son Master en Mathématiques et Informatique, Vincent débute sa carrière de développeur. Au sein de nombreuses ESN (Entreprises de Services du Numérique), il devient lead développeur puis architecte.

Tout au long de ses missions, Vincent a eu l'opportunité de se familiariser avec la formation, partageant ainsi son expertise avec d'autres développeurs.

Par la suite, il rejoint l'éditeur Talend, où il passe cinq ans à travailler sur la data quality.

Enfin, depuis 2021, Vincent cherche à allier ses connaissances en développement Web et en gestion de données en freelance. Il met l'accent sur le back-end, et apprécie les défis liés au front-end, notamment en React.

Aujourd'hui, Vincent travaille autant pour le compte d'entreprises que pour ses projets personnels, tels que Animal-planner (https://www.animal-planner.com).

Voir son profil détaillé

A propos de Human Coders

Human Coders c'est un centre de formation pour développeurs avec :

  • une certification Qualiopi, indispensable pour que vous puissiez obtenir des aides au financement via votre OPCO
  • de nombreux clients qui nous font confiance depuis des années
  • un manifeste pour garantir des formations à taille humaine, des formateurs passionnés, de véritables workshops...
  • 122 formations au catalogue, 1604 sessions depuis nos débuts en 2012 avec une moyenne de satisfaction de 4,6/5
  • la possibilité de vous proposer un accompagnement personnalisé ou du conseil après la formation

Besoin d'aide ?

Vous souhaitez discuter avec nous à propos de votre projet de formation ?
Vous voulez plus d'information sur une formation ou notre fonctionnement ?


Rappel Email

Nos forces

  • Des formations à taille humaine
  • Des formateurs passionnés
  • Des véritables workshop
Accéder au Manifeste

Nos clients

Formation Java avancé

Threading avancé, programmation réactive et techniques de développement avancées pour des applications Java plus performantes avec notre formation Java Avancé

Formation Java avancé

Lors de cette formation pratique Java, vous approfondirez la gestion de la concurrence, les échanges inter-applicatifs, l'extension de fonctionnalités et les techniques avancées de développement d'applications Java.

Cet apprentissage Java s'adresse aux développeurs·se·s Java expérimenté·e·s souhaitant approfondir leurs connaissances. Elle est basée sur la version 17 de Java.
Pour les développeurs·euses débutant avec Java, les formations Java et Java intermédiaire sont faites pour vous.

Grâce à la création d'une application de gestion de tâches, vous mettrez immédiatement en pratique les notions abordées : de la gestion de la concurrence d’accès à la modularisation de l’application en passant par la découverte de la programmation réactive et de la programmation par aspect. À l'issue de la formation, l'application réalisée sera opérationnelle et pourra être utilisée comme modèle pour des projets à venir.

Besoin d'approfondir vos compétences ? Nous proposons aussi des formations JPA, Design Patterns et Spring.

Les objectifs

  • Comprendre et maîtriser les accès concurrents
  • Programmer avec des APIs asynchrones
  • Savoir étendre son code
  • Débugger efficacement

Pré-requis

  • Maîtrise du language Java (POO, collections, lambdas, streams)
  • Ordinateur portable à apporter

Le programme de la formation Java avancé

Jour 1 : Threading et Concurrence

  • Approfondir les techniques de synchronisation, couvrant l'utilisation de blocs synchron (synchronised blocks, Locks, Sémaphores, CountDownLatch, …)
  • Explorer les collections et leur utilisation dans un contexte concurrent
  • Étudier la gestion des threads (thread pools, Executor Service, ThreadLocal)
  • Comprendre les mécanismes de gestion des threads dans les serveurs d'application

Mise en pratique :
- Créer le projet “fil rouge”
- Gérer les écritures simultanées de tâches dans un fichier
- Lancer des tâches de manière asynchrone
- Découvrir la gestion des fils dans un serveur d’application


Jour 2 : Échanges Inter-Applicatifs

  • Explorer l'utilisation des CompletableFuture pour créer des chaînes de traitement asynchrones, gérer les tâches futures et effectuer des opérations parallèles.
  • Approfondir les concepts de programmation réactive, en explorant la spécification Reactive Streams, l'API Flow et R2DBC.
  • Parcourir les techniques pour créer, surveiller et gérer des processus système à partir d'applications Java.
  • Etudier la journalisation en abordant la manière de suivre et d'analyser les activités de l'application.

Mise en pratique :
- Lister les tâches selon certains critères de manière non bloquante
- Utiliser les logs pour afficher les informations d’exécution


Jour 3 : Extensions Applicatives
  • Approfondir la gestion des dépendances et des concepts modulaires pour organiser efficacement les composants de l'application et favoriser la réutilisation.
  • Explorer l'Inversion de Contrôle en utilisant le Service Loader pour découpler les composants.
  • Comprendre la programmation par aspect en étudiant comment séparer et gérer les préoccupations transversales dans le code.
  • Appréhender l'instrumentation du code en utilisant javaagent et l'API Instrument pour apporter des modifications au bytecode et intercepter les comportements.
  • Découvrir la collecte de données à des fins de profiling et de surveillance, en utilisant des outils comme Java Management Extensions (JMX)

Mise en pratique :
- Logguer toutes les entrées/sorties de méthodes utilisant la programmation par aspect
- Suivre la consommation mémoire de l’application avec les outils du JDK

Télécharger le programme

Le(s) formateur(s)

Guillaume DROUET

Guillaume DROUET

Guillaume est développeur depuis 10 ans et spécialisé dans le monde des APIs WEB. Il a travaillé en tant que consultant et formateur en ESN puis en startup dans la région Lilloise.

Aujourd'hui, il est freelance et intervient en tant que tech lead chez ses clients où il les conseille au quotidien sur des problématiques de qualité du code, d'architecture et de performance applicative.

Il aime partager et apprendre via différents axes, c'est pour cela que il donne des formations en parallèle de ses missions. A ce titre, il est également vacataire à l'Université depuis 2014.

Voir son profil détaillé

Vincent LE SQUERE

Vincent LE SQUERE

En 2005, à Brest, suite à l'obtention de son Master en Mathématiques et Informatique, Vincent débute sa carrière de développeur. Au sein de nombreuses ESN (Entreprises de Services du Numérique), il devient lead développeur puis architecte.

Tout au long de ses missions, Vincent a eu l'opportunité de se familiariser avec la formation, partageant ainsi son expertise avec d'autres développeurs.

Par la suite, il rejoint l'éditeur Talend, où il passe cinq ans à travailler sur la data quality.

Enfin, depuis 2021, Vincent cherche à allier ses connaissances en développement Web et en gestion de données en freelance. Il met l'accent sur le back-end, et apprécie les défis liés au front-end, notamment en React.

Aujourd'hui, Vincent travaille autant pour le compte d'entreprises que pour ses projets personnels, tels que Animal-planner (https://www.animal-planner.com).

Voir son profil détaillé

A propos de Human Coders

Human Coders c'est un centre de formation pour développeurs avec :

  • une certification Qualiopi, indispensable pour que vous puissiez obtenir des aides au financement via votre OPCO
  • de nombreux clients qui nous font confiance depuis des années
  • un manifeste pour garantir des formations à taille humaine, des formateurs passionnés, de véritables workshops...
  • 122 formations au catalogue, 1604 sessions depuis nos débuts en 2012 avec une moyenne de satisfaction de 4,6/5
  • la possibilité de vous proposer un accompagnement personnalisé ou du conseil après la formation

* Nombre de personnes ayant répondu au questionnaire de satisfaction sur cette formation depuis 2012