Formation Java Avancé, perfectionnement JVM, MULTI-THREADING, ENTRÉES/SORTIES, JDBC, JPA, LAMBDAS, STREAMS, MODULES

4.5 sur 5 étoiles

5 étoiles
54%
4 étoiles
46%
3 étoiles
0%
2 étoiles
0%
1 étoile
0%
Voir les 50 avis
(50 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 Java avancé 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 dans le contexte des bases de données relationnelles avec l’API JDBC, ce qui apporte une dimension de projet professionnel à la formation. La manipulation avancée de fichiers/répertoires est également visitée avec les API Nio.2. Vous apprendrez la manipulation des expressions lambdas et la mise en œuvre de l'API Stream. Les modules sont une nouveauté importante de Java 11 que vous apprendrez à mettre en œuvre.

Objectif opérationnel :

Maîtriser les aspects le plus avancés du langage Java.

Objectifs pédagogiques :

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

  • Comprendre le fonctionnement de la JVM
  • Savoir utiliser les API NIO.2 pour manipuler les fichiers, liens symboliques et répertoires
  • Programmer en Java dans le contexte des bases de données relationnelles
  • Développer une application Java multitâches en utilisant les threads
  • Utiliser les expressions lambdas
  • Mettre en œuvre l’API Stream
  • Mettre en œuvre les modules de Java 11
  • Débugger une application

Public :

Ce cours Java s’adresse aux développeurs et chefs de projet. Elle peut intéresser également ceux qui cherchent à rafraîchir des concepts vus lors d'une précédente formation Java suivie il y a plusieurs mois sans pratique ultérieure.

Prérequis :

Cette formation Java avancé s’adresse à tout développeur possédant une connaissance du langage Java. La formation Java les fondamentaux (JJDC) est un prérequis idéal pour tirer pleinement profit de cette formation.

Fonctionnement de la JVM (Java Virtual Machine)

Le modèle de sécurité de Java 
Chargement des classes, rôle du Bootstrap Class Loader
Mettre en œuvre son propre class loader
Vérification de la structure d’un fichier .class par le class-file verifier
Gestion de la mémoire, les différents garbage collectors
Origines du Out Of Memory Error
Utilisation de l’outil visualvm
Principe et rôle d’un Security Manager
Format des fichiers .policy
Travaux pratiquesObservation via Visualvm des cycles d'allocation/désallocation des objets et des performances associées, 
la détection de deadlocks
Mise en œuvre d’un SecurityManager pour protéger l’accès aux fichiers du système

Classes internes, Généricité, Annotations

Classes internes static, membre, locale, anonyme
Accès aux membres, création d’instances
Passage de paramètres génériques aux méthodes
Méthodes génériques
Principe et rôle d’une annotation
Attributs obligatoires et optionnels
Cibles d’une annotation
Annotations personnalisées
Annotations multiples
Travaux pratiquesMise en œuvre de classes internes, méthodes génériques, annotations personnalisées dans une petite application

Programmation parallèle

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
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 pratiquesÉcriture d’une application client/serveur en Java
Correction d’une corruption de données dans une application

L'accès aux bases de données

Historique de l'accès aux données en Java, présentation de JDBC
Correspondance entre types SQL et Java
Rôle du driver
L'API JDBC, Connection, Statement, ResultSet
Requêtes paramétrées avec PreparedStatement
Appel de procédure stockées avec CallableStatement
Utilisation de l’API RowSet
Gestion des transactions
Notion de pool de connexions
Problématique de l'ORM et introduction à JPA
Travaux pratiquesMise en œuvre des API JDBC pour le développement d’un DAO (Data Access Object)

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 pratiques 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 pratiquesRemplacement 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 pratiquesUtilisation de nombreux streams séquentiels et parallèles sur tableaux et collections
Comparaison de performances entre streams séquentiels et parallèles

Le système de modules

Principe et intérêt des modules
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
Modularité du JDK
Nouvelle organisation de la documentation des API Java
Fichiers jar modulaires
Problématique des migrations : approches bottom-up et top-down
Travaux pratiquesDé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 oeuvre des modules

Autres nouveautés de Java 11 à 17

Évolution du switch
Blocs de texte
Rôle et intérêt des records
Classes et interfaces scellées
La commande jlink
La commande jpackage

Introduction à l’outil Maven et aux frameworks JUnit, Hibernate, Spring

Rôle et intérêt de Maven
Structure d’un projet Maven
Constitution d’un POM
Résolution des dépendances
Comparaison framework/librairie
Présentation de JUnit pour les tests unitaires
Présentation de Hibernate/JPA pour l’accès aux bases de données relationnelles
Présentation de Spring pour l’injection de dépendances
Travaux pratiquesCréation d’un projet Maven faisant appel aux API Spring

Débugging d’applications

Rôle du débugging
Présentation de l’outil de débugging dans l’IDE
Notions de breakpoint, conditional breakpoint, watchpoint, step filtering
Exécution en pas à pas, observation des variables, modification
Suspension et reprise de l’exécution d’un thread
Travaux pratiquesRecherche et correction de bugs dans une application fournie
Date de mise à jour du programme : 18/03/2024

Dates et lieux

Du 11 au 14 juin 2024
En bonne voie de maintien
Lieu
Distanciel
Durée
4 jrs
2490 € HT
Du 11 au 14 juin 2024
En bonne voie de maintien
Lieu
Paris
Durée
4 jrs
2490 € HT
Du 12 au 16 août 2024
Lieu
Distanciel
Durée
4 jrs
2490 € HT
Du 12 au 16 août 2024
Lieu
Paris
Durée
4 jrs
2490 € HT
Du 15 au 18 octobre 2024
Lieu
Distanciel
Durée
4 jrs
2490 € HT
Du 15 au 18 octobre 2024
Lieu
Paris
Durée
4 jrs
2490 € HT
Du 10 au 13 décembre 2024
Lieu
Distanciel
Durée
4 jrs
2490 € HT
Du 10 au 13 décembre 2024
Lieu
Paris
Durée
4 jrs
2490 € HT

Avis des participants à la formation Java Avancé, perfectionnement

Note moyenne de 4.5/5(50)

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 :)"

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 ..."

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."

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 "

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 !"

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


Formations Informatique
et Management
en ligne à ce jour

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

%
De participants satisfaits
ou très satisfaits de nos
formations


Formateurs experts
validés par
PLB