Formation Java Avancé, perfectionnement

JVM, MULTI-THREADING, ENTRÉES/SORTIES, JDBC, JPA, LAMBDAS, STREAMS, MODULES

4.5 sur 5 étoiles

5 étoiles
53%
4 étoiles
46%
3 étoiles
0%
2 étoiles
0%
1 étoile
0%
Voir les 54 avis
(54 avis)
Durée 4 jours
Niveau Avancé
Classe à distance
Possible

Vous pouvez suivre cette formation en direct depuis votre domicile ou votre lieu de travail. Plus d'informations sur notre solution de classe à distance...

Référence JNPF
Éligible CPF Non

Cette formation permet aux personnes ayant suivi une première initiation à Java d’approfondir leurs connaissances du langage afin d’intégrer directement une équipe projet.

La formation commence par détailler le fonctionnement de la JVM (Java Virtual Machine) afin que le développeur puisse diagnostiquer des problèmes de performances liés à la conception de son programme et à l'utilisation des objets Java. Vous apprendrez à concevoir une application multi-threadée et à synchroniser ses threads tout en évitant la corruption de données.

Vous apprendrez également à utiliser le langage Java pour manipuler les données qu’elles se présente dans une base de données (API JDBC), sous forme de fichiers/répertoires avec les API Nio.2 ou encore sous forme de flux de données avec la mise en œuvre de l'API Stream. Enfin vous saurez utiliser Java dans un contexte professionnel en structurant vos projets avec des modules et en industrialisant la production de votre application avec des outils comme Gradle (génération de .jar) ou Maven (gestion de projet Java).

Objectif opérationnel :

Savoir utiliser les fonctions avancées du langage Java dans les projets de développement d’applications.

Objectifs pédagogiques :

À l'issue de cette formation Java Avancé, vous serez en mesure de :

  • Maîtriser les aspects avancés du langage Java
  • Comprendre comment appliquer les principaux Framework et librairies Java
  • Comprendre le modèle de sécurité et le chargement des classes Java
  • Savoir programmer en Java dans le contexte des bases de données relationnelles
  • Savoir tester, débugger et optimiser ses applications
  • Appréhender les nouveautés Java

Public :

Ce cours s’adresse aux développeurs Java, chargés de développement ou chefs de projets proches du développement possédant une connaissance préalable de Java et souhaitant élargir leurs compétences en vue de participer à des projets de développement d’applications Java élaborés.

La formation intéressera également les développeurs cherchant à rafraîchir des concepts vus lors d'une précédente formation Java suivie il y a plusieurs mois ou disposant d’une pratique effectuée sur une version antérieure de Java.

Prérequis :

Les participants à cette formation possèdent obligatoirement une expérience préalable en programmation Java accompagnée de connaissances des bases de données relationnelles et du SQL. Ces connaissances, utilement transverses à toute la formation, leur permettront plus particulièrement de mieux appréhender les concepts associés à la persistance des données avec JPA.

La formation Java les fondamentaux (JJDC) est un prérequis idéal pour tirer pleinement profit de cette formation.

J’évalue mes connaissances pour vérifier que je dispose des prérequis nécessaires pour profiter pleinement de cette formation en faisant ce test.

Jour 1

Débugging et profiling d’applications

Débugging et profiling d’applications
Rôle du débugging, fonctionnalités incluses dans les IDES
Notions de breakpoint, conditional breakpoint, exception breakpoint watchpoint, step filtering
Exécution en pas à pas, observation des variables, modification
Suspension et reprise de l’exécution d’un thread
Les profilers disponibles, optimisation CPU, mémoire, I/O
Travaux pratiquesObjectif : Prendre en main les fonctionnalités de l’IDE pour créer des programmes fiables et performant
Description : Recherche et correction de bugs dans une application fournie

Approfondissement : interfaces, records et classes

Rappels sur les interfaces
Principe des records
Record vs classe immuable
Classes internes static, membre, locale, anonyme
Accès aux membres, création d’instances
Classes et interfaces scellées
Travaux pratiquesObjectif : Prise en main des mécanismes avancées de Java core
Description : Mise en œuvre de records, de classes internes, méthodes génériques dans une application

Généricité

Types génériques : classes, interfaces et records
Méthodes génériques
Principe du type erasure
Utilisation du caractère ? (wildcard)
Passage de paramètres génériques aux méthodes
Héritage et généricité
Travaux pratiquesObjectif : Prise en main des mécanismes avancées de Java core
Description : Mise en œuvre de classes et interfaces génériques, de méthodes génériques dans une petite application

Annotations

Principe et rôle d’une annotation
Attributs obligatoires et optionnels
Cibles d’une annotation
Annotations personnalisées
Annotations multiples
Travaux pratiquesObjectif : Maîtrise des annotations
Description : Mise en œuvre d’annotations personnalisées dans une petite application
Jour 2

Multithreading

Concepts et spécificités du multithreading par rapport à la programmation « traditionnelle »
États d'un thread
Synchronisation des threads
Intérêt du pattern Immutable
Les threads virtuels
Gestion des mutex avec les interfaces Lock et Condition
Pools de threads
Les apports du framework Executor (invocation, ordonnancement, exécution, contrôle)
Le package java.util.concurrent
Les classes Atomic, les collections concurrentes
Travaux pratiquesObjectif : Comprendre les notions de base sur les threads et les API haut niveau pour les manipuler
Description : Écriture d’une application client/serveur en Java. Correction d’une corruption de données dans une application

Persistance des données avec JPA

Impédance mismatch et limtes de JDBC 
JPA et Hibernate 
Classes Entité et EntityManager, Flush de session   
Mapping simple 
Mapping des associations
Objets embarqués 
Persistance des objets et cascading
Langage de Requête : JPQL, API Criteria, EntityGraph 
Travaux pratiquesObjectif : Comprendre les apports de JPA versus JDBC
Description : Mise en œuvre des API JDBC pour le développement d’un DAO (Data Access Object)
Jour 3

Accès complet au système de gestion de fichiers avec Nio.2

Les nouvelles classes java.nio.file.Files et java.nio.file.Path
Gestion des liens symboliques
Manipulation de chemins, parcours de répertoires et d'arborescences
Accès aux attributs d'un fichier
Notification des changements dans un répertoire 
Gestion des archives Jar/zip
Entrées/sorties asynchrones
Travaux pratiquesObjectif : Être efficace dans la gestion de fichiers
Description : Parcours d’arborescences pour copie/suppression de fichiers
Synchronisation de répertoires entre arborescences

Expressions Lambda, références de méthodes

Comprendre les principes de la programmation fonctionnelle
Syntaxe des classes internes anonymes
Notion d’interface fonctionnelle
Anatomie d'une expression Lambda
Simplifier les expressions lambdas avec les références de méthodes
Mise en œuvre des interfaces fonctionnelles : Consumer, Supplier, Predicate, Function
Gestion des exceptions
Travaux pratiquesObjectif : Utilisation avancée des lambdas
Description : Remplacement de classes internes anonymes par des expressions lambda
Mise en œuvre d’interfaces fonctionnelles de la bibliothèque
Simplification d’expressions lambdas par des références de méthodes

Mise en œuvre de l’API Stream pour la manipulation de flux de données

Objectif de l’API Stream
Obtention et sortie d’un stream
Opérations intermédiaires et terminales
Mise en œuvre des méthodes forEach, map, filter, findFirst
Principe de l’évaluation paresseuse
Intérêt de la la classe Optional
Réductions avec reduce et collect
Interface Collector et classe Collectors
Autres méthodes : limit, skip, sorted, min, max, distinct, allMatch, anyMatch, noneMatch, count
Streams sur fichiers et répertoires
Streams parallèles, précautions d’usage
Travaux pratiquesObjectif : Utilisation avancée des streams, connaissance des opérateurs de flux
Description : Utilisation de nombreux streams séquentiels et parallèles sur tableaux et collections
Comparaison de performances entre streams séquentiels et parallèles
Jour 4

Le système de modules

Principe et intérêt des modules
Modularité du JDK
Nouvelle organisation de la documentation des API Java
Format du descripteur de module : les directives
Utilisation des modules
Gestion des dépendances entre modules, la commande jdeps
Intérêt du module-path
Notions de modules anonymes et modules automatiques
Mise en œuvre de services entre modules
Fichiers jar modulaires
Problématique des migrations : approches bottom-up et top-down
Travaux pratiquesObjectif : Comprendre l’intérêt des modules, optimiser le packaging, améliorer les temps de démarrage des applications
Description : Découpage d'une application en modules
Mise en œuvre de modules anonymes et automatiques
Mise en œuvre de services
Migration d'une application avec mise en œuvre des modules

Déploiement d’applications Java

La commande jlink pour créer une image exécutable
La commande jpackage
Travaux pratiquesObjectif : Savoir déployer une application java avec jlink
Description : Création d’une image exécutable pour une petite application
Création d’un installeur à partir de cette image exécutable

Introduction aux outils de build et aux frameworks

Rôle et intérêt d’un outil build
Différences Gradle/Maven
Structure des projets, 
Résolution des dépendances et dépôts d’artefacts
Comparaison framework/librairie, le pattern IoC
Configuration des frameworks : XML, Java, auto-configuration
Travaux pratiquesObjectif : Initier aux frameworks Spring,
Description : Création d’un projet Maven faisant appel aux API Spring

L’approche pédagogique est inductive et centrée sur l’expérimentation. Chaque notion avancée (multithreading, Stream, JPA, modularité…) est introduite par une mise en situation ou une problématique métier à résoudre. Par exemple, on explique comment le développeur Java doit se « débrouiller » pour gérer run flux de données sans l’API Stream et ensuite seulement le confort qu’elle apporte, permettant ainsi de mieux retenir le concept. Le déroulé est ponctué d'ateliers pratiques plutôt isolés pour favoriser leurs assimilations car chaque concept est assez technique même s’il est toujours replacé globalement dans une application professionnelle. Des quiz quotidiens de validation des acquis et de régulations pédagogiques sont proposés (synthèses journalières, reformulations collectives). La formation cherche aussi à s’ouvrir au maximum sur le contexte professionnel en utilisant les outils classiques que l’on rencontre dans tous les projets Java. A nouveau on invite les participants à réfléchir sur la difficulté de construction et de maintenance d’’une application Java dans un « vrai » projet (avec plusieurs développeurs, un projet partagé, de l’inertie dans le déploiement et des risques d’erreurs, du paramétrage, etc.) pour introduire naturellement les outils et frameworks rencontrés sur le terrain.

Date de mise à jour du programme : 01/12/2025

Dates et lieux

1
2
Du 16 au 19 décembre 2025
Session garantie
Lieu
Distanciel
Durée
4 jrs
2490 € HT
Du 16 au 19 décembre 2025
Session garantie
Lieu
Paris
Durée
4 jrs
2490 € HT
Du 26 au 29 janvier 2026
Lieu
Distanciel
Durée
4 jrs
2490 € HT
Du 26 au 29 janvier 2026
Lieu
Paris
Durée
4 jrs
2490 € HT
Du 27 au 30 avril 2026
Lieu
Distanciel
Durée
4 jrs
2490 € HT
Du 27 au 30 avril 2026
Lieu
Paris
Durée
4 jrs
2490 € HT
Du 27 au 30 juillet 2026
Lieu
Distanciel
Durée
4 jrs
2490 € HT
Du 27 au 30 juillet 2026
Lieu
Paris
Durée
4 jrs
2490 € HT
Du 26 au 29 octobre 2026
Lieu
Distanciel
Durée
4 jrs
2490 € HT
Du 26 au 29 octobre 2026
Lieu
Paris
Durée
4 jrs
2490 € HT
1
2

Logo partenaire action collective de l'OPCO Atlas Votre formation prise en charge jusqu'à 100% des coûts pédagogiques ! * 

Depuis 2011, Atlas (ex-Fafiec) a sélectionné PLB Consultant pour vous proposer les meilleures formations autour du développement objet avec .NET, Java et C++. 
-  Sessions inter-entreprise sur Paris et Lille. 
-  Sessions intra-entreprise sur toute la France. 

* jusqu'à 100% des coûts pédagogiques selon votre branche d'activité dans la limite des fonds mutualisés dédiés aux actions collectives et en application des critères de prise en charge en vigueur (cf conditions détaillées sur le site d'Atlas)

Vous pouvez retrouver le lien direct vers cette formation sur le site d'Atlas, à l'adresse suivante :

Avis des participants à la formation Java Avancé, perfectionnement

Note moyenne de 4.5/5(54)

Les avis figurant ci-dessous sont issus des fiches d’évaluation que remplissent les participants à la fin de la formation. Ils sont ensuite publiés automatiquement si les personnes ont explicitement accepté que nous les diffusions.

PEREZ Fabrice
5/5

Mon avis sur le contenu du stage :

"Formateur extrêmement technique, un véritable expert. Par contre, j'ai souvent attendu que mon partenaire de formation ai terminé ses exercices pour pouvoir continuer le cours."

Mon avis sur le formateur :

"Comme dit précédemment, rien à redire sur le formateur, que ce soit niveau relationnel ou technique. Le fait de maîtriser parfaitement son domaine lui permet de nous rendre simple des situations complexes. Un modèle de pédagogie !"

Mon avis sur la salle de formation :

"Formation suivie en ligne"

Ce que j'ai le plus apprécié :

"Toujours à l'heure ! Cela devient une denrée rare de nos jours."

Ce que j'ai le moins apprécié :

"S'il y a eu un point un peu gênant durant ces 3 jours, ce sont les échos que nous avions quand nous parlions au formateur. Denis, prenez un micro-casque :)"

CA
4/5

Mon avis sur le contenu du stage :

"Une formation Java très complète, accompagnée de supports de cours de qualité et d’exercices pratiques pour appliquer les connaissances acquises"

Mon avis sur le formateur :

"Bien que la formation se soit déroulée à distance, le formateur a su l’adapter pour la rendre à la fois pertinente et interactive"

Ce que j'ai le plus apprécié :

"Le formateur a pris le temps de trouver des solutions et d’adapter sa formation pour contourner les problèmes techniques que nous avons rencontrés"

Ce que j'ai le moins apprécié :

"Malheureusement, la sécurité mise en place par notre organisation nous a empêchés de profiter pleinement de cette formation en bloquant l’accès aux différents supports fournis par le formateur"

Thomas
4/5

Mon avis sur le contenu du stage :

"Un support papier serait appréciable et peut être une journée supplémentaire pour faire plus de travaux "

Mon avis sur la salle de formation :

"Très bon accueil"

Ce que j'ai le plus apprécié :

"Les machines à café et la nourriture"

Ce que j'ai le moins apprécié :

"La mise en place, certes obligatoire mais un peu chronophage, des outils de travail (mysql, jdbc connector, eclipse EE...)"

BA
4/5

Mon avis sur le contenu du stage :

"Pour ma part, cette deuxième partie de formation a abordé beaucoup de sujets que je connaissais déjà, je n'ai donc pas appris grand chose. Cependant, je tiens à souligner la qualité des TP et des supports cohérents avec des problématiques réelles."

Mon avis sur le formateur :

"Très bonne initiative le rappel des éléments de la veille à chaque début de cours, cela permet de se remettre petit à petit dans le bain"

AL
4/5

Mon avis sur le contenu du stage :

"Nous avons manqué un peu de temps pour couvrir tous les items (exercices notamment) prévus dans la formation. Mais nous avons par ailleurs abordés des sujets divers qui nous intéressaient et répondaient à un besoin."

Ce que j'ai le plus apprécié :

"L'espace pause est sympathique et propose gratuitement l'accès à divers produits ce qui est appréciable."

CS
4/5

Mon avis sur le contenu du stage :

"Cette formation devrait se faire en 4 jours, selon le plan de la formation cela est pour moi plus adapté."

Mon avis sur le formateur :

"Intervenant très au fait des technologies qu'il présente, prend le temps d'expliquer les choses."

Ce que j'ai le moins apprécié :

"Pas de climatisation dans une petite salle..."

HM
4/5

Mon avis sur le contenu du stage :

"J'ai pu consolider pas mal d'acquis, des "behind the scene" que je comprends mieux et puis d'autres points que je connaissais déjà. Seul bémol, la différence de niveau des personnes formées qui ralentit un peu le cours global de la formation"

Mon avis sur le formateur :

"Fort, très pédagogue et disponible"

FOUCRAS Nicolas
5/5

Mon avis sur le contenu du stage :

"Prestation parfaite, le formateur s'adapte en fonction de nos besoins. Les TP sont très représentatifs et réutilisables dans notre quotidien de développeurs. Les sujets sont abordés de maniére très appronfondie."

Mon avis sur le formateur :

"Le formateur maîtrise parfaitement le sujet."

DX
5/5

Mon avis sur le contenu du stage :

"Le support papier n'était pas toujours identique à la version projetée"

Mon avis sur le formateur :

"Formateur toujours aussi sympathique et compétent"

Ce que j'ai le plus apprécié :

"espace détente, restaurants à proximité"

PHALENTE Jérémy
4/5

Mon avis sur le contenu du stage :

"J'apprécie énormément la richesse des exercices"

Mon avis sur le formateur :

"Dialogue clair et précis "

Mon avis sur la salle de formation :

"Malgré la distance, c'était agréable de participer à cette formation"

MJ
5/5

Mon avis sur le contenu du stage :

"la durée de la formation (4 jours) est peut être un peu court par rapport au contenu de la formation. Cela oblige parfois à passer certains exercices"

Mon avis sur le formateur :

"Très bon formateur, qui prends le temps d'expliquer les choses, disponible pour nous aider lors des TP. "

NOURRY Cheunn
5/5

Mon avis sur le formateur :

"Très bonne pédagogie, bonne ambiance. Le formateur est arrangeant, il a une très bonne connaissance même sur les sujets non abordés !"

Ce que j'ai le moins apprécié :

"Je ne suis pas fan des formations à distance de base donc forcément ..."

GF
5/5

Mon avis sur le contenu du stage :

"complet"

Mon avis sur le formateur :

"très pédagogue, passionné et sympathique "

Ce que j'ai le plus apprécié :

"Accueil, relations commerciales et humaines du personnel "

RS
4/5

Mon avis sur le contenu du stage :

"Très bon contenu de stage."

Mon avis sur le formateur :

"Très pédagogique et a reussi à faire beacoup de chose malgrés le contenu chargé de la formation. Point d'honneur à la qualité des execrices et TP."

BOUALLOU Anass
4/5

Mon avis sur le formateur :

"Très bon formateur !"

Ce que j'ai le plus apprécié :

"Salle bien équipée"

Ce que j'ai le moins apprécié :

"Il fait très chaud dans la salle"

PA
5/5

Mon avis sur le contenu du stage :

"L'esthétique" des supports pourrait être améliorée."

Ce que j'ai le plus apprécié :

"Formation très réussie malgré la distance. Mise en place facile."

DSJ
4/5

Mon avis sur le formateur :

"Le formateur a su adapter sa formation en fonction des demandes de chacun des participants."

Ce que j'ai le plus apprécié :

"L'accueil et la mise à disposition d'encas et de boissons."

JB
4/5

Mon avis sur le contenu du stage :

"Bcp d'informations je ne n'ai pas toutes réussies à intégrer"

Mon avis sur le formateur :

"C'est le meilleur formateur qu'il m'a été donné d'écouter"

LUCZAK Michaël
5/5

Mon avis sur le contenu du stage :

"Très bien."

Mon avis sur le formateur :

"Très bien."

Mon avis sur la salle de formation :

"Formation fait sur site."

DM
4/5

Mon avis sur le contenu du stage :

"Cours très complet"

Mon avis sur le formateur :

"Très à l'écoute. N'hésite pas à revenir sur certains points si ce n'est pas bien compris."

FONOLL Alexandre
5/5

Mon avis sur le contenu du stage :

"Bons exemples, bons thèmes d'études même pour un néophyte"

Ce que j'ai le plus apprécié :

"Disponibilité, compétence"

FA
5/5

Mon avis sur le contenu du stage :

"Les exercices étaient directement en relation avec le cours et permettaient de bien assimiler ce dernier."

Mon avis sur la salle de formation :

"Formation en intra"

Simon
5/5

Mon avis sur le contenu du stage :

"Nous n'avons pas eu le temps d'aborder tous les sujets, c'est un des seuls points négatifs de cette formation. Notamment la partie JVM qui aurait été interessante pour des développeurs."

BD
4/5

Mon avis sur le contenu du stage :

"Contenu conforme à nos attentes."

Mon avis sur le formateur :

"Très disponible, à l'écoute, rien à redire."

MX
5/5

Mon avis sur le formateur :

"J'ai vraiment apprécié ses explications et sa pédagogie. Le fait de laisser les exos avec les corrigés est aussi un vrai plus. Les exercices sont très bien choisis."

TPK
5/5

Mon avis sur le formateur :

"Excellent formateur, aidant et à l'écoute"

Ce que j'ai le plus apprécié :

"Les exercices "

BD
5/5

Ce que j'ai le plus apprécié :

"La mise en place rapide de la formation à distance afin d'éviter les péripéties des grèves des transports"

CC
5/5

Mon avis sur la salle de formation :

"Merci d'avoir mis en place la formation à distance suite aux problèmes d'accès liés aux grèves."

AF
4/5

Mon avis sur le contenu du stage :

"Un peu difficile car mon niveau est "très débutant" mais le stage était très intéressant."

AM
4/5

Mon avis sur le formateur :

"Très disponible, le formateur a su prendre le temps de tout expliquer avec le plus d'exemples possible."

SN
4/5

Mon avis sur le contenu du stage :

"Bon rapport cours/pratique Contenu en accord avec ce qui a été annoncé"

DS
5/5

Mon avis sur le formateur :

"Une connaissance très poussée sur le java, explications en profondeur des concepts."

TIMELLI Ahlem
5/5

Mon avis sur le formateur :

"Très disponible et à l'écoute, très clair dans ses explications."

RM
5/5

Mon avis sur le formateur :

"Au top !"

LS
5/5
GL
4/5
MF
4/5
UA
5/5
PB
4/5
AGACHE Xavier
4/5
NICOLLE Eric
5/5
BV
4/5
NF
4/5
GIRBAL Mathéo
4/5
SP
5/5
ST
5/5
KB
4/5
ME
5/5
VJ
5/5
DA
5/5
NTD
4/5
NF
5/5
RE
5/5
AS
5/5

Ces formations peuvent aussi vous intéresser :

Débuter en Java

  • Niveau : Fondamental
  • Référence : JSCO

Le Développement Java

  • Niveau : Fondamental
  • Certification : Oracle Certified Associate, Java SE 8 Programmer
  • Référence : JJDC

  • Niveau : Fondamental
  • Certification : Oracle Certified Associate Java SE 8 Programmer
  • Référence : JDJA

  • Niveau : Intermédiaire
  • Référence : J7DC


Formations Informatique
et Management
en ligne à ce jour

+
Stagiaires dans nos salles
de cours sur
l'année

4,7/5
94% de nos participants
sont satisfaits ou
très satisfaits


Formateurs experts
validés par
PLB

%
Des participants
recommandent
nos formations