Formation Java Avancé, perfectionnement


  • JVM, ACCÈS AUX DONNÉES, MULTI-THREADING, ENTREES/SORTIES, JDBC, HIBERNATE, TESTS, JUNIT, API, LAMBDA, STREAM
REFERENCE
 
 
JNPF
DUREE
 
 
3 jours
TARIFS
 
 
1690 € HT
Niveau : Expert
Cours à distance: Possible
OBJECTIFS :
 

Cette formation Java Perfectionnement 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 interne 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 que ce soit en natif ou via l'utilisation de framework (Spring, Hibernate, etc.).

Une introduction aux Design Patterns vous permettra d'aborder les bonnes pratiques de conception tout en faisant le lien avec le chapitre précédent sur les performances.

Vous apprendrez ensuite à utiliser le langage Java dans le contexte des bases de données relationnelles (JDBC, JPA/Hibernate), 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 également à développer une application Java multitâches en gérant les threads.
Les nouvelles API de gestion des dates et du temps sont également abordées.

Vous comprendrez la nécessité des tests à travers l’exemple de JUnit.

Pour finir, vous apprendrez la manipulation des expressions lambdas et la mise en œuvre de l'API Stream.

PRÉ-REQUIS :
 

Cette formation 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.

PUBLIC :
 

Cette formation 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.

PROGRAMME :
 

Fonctionnement de la JVM (Java Virtual Machine)

Chargement des classes, Classloader, classpath
Gestion de la mémoire, le garbage collector
Le modèle de sécurité de Java
La réflexion, les annotations
Les outils d'inspection, surveillance, traces

Travaux Pratiques :

Observation des cycles d'allocation/désallocation des objets et des performances associées. L'apport des mécanismes de pool, de certains design pattern. Sollicitation de la JVM par les framework Java (Spring, Hibernate).

Introduction aux Design Patterns

Programmation par interfaces
Introduction aux design patterns du GoF (Gang Of Four)
Les documentations de référence
Pattern Singleton
Pattern Factory
Pattern Decorator
Pattern Observer
Pattern Proxy
Architecture MVC

Travaux Pratiques :

Mise en œuvre des associations un-vers-un, un-vers-plusieurs, plusieurs-vers-plusieurs. Mise en œuvre de la composition. Implémentation du pattern d'architecture MVC. Description de problèmes invitant le stagiaire à identifier le "bon" design pattern à utiliser

Programmation parallèle

Concepts et spécificités du multithreading par rapport à la programmation « traditionnelle »
États d'un thread
Synchronisation des threads
Interfaces Lock et Condition
Pools de threads
Les apports du framework Executor (invocation, ordonnancement, exécution, contrôle)
Le package java.util.concurrent

Travaux Pratiques :

Écriture d’un chat en Java (multi-fenêtres en lecture/écriture, passage du jeton entre les threads)

L'accès aux bases de données

Historique de l'accès aux données en Java, présentation de JDBC
L'API JDBC, Connection, Statement, ResultSet
Gestion des transactions
Problématique de l'ORM et introduction à JPA
Configuration JPA, l'exemple d'Hibernate
Mapping basique, API de l'EntityManager, les transactions
Mapping de l’héritage, des associations, lazy-loading et cascading
Intoduction au langage JPQL

Travaux Pratiques :

Mise en œuvre de JPA avec Hibernate pour rendre persistants des beans entités
Utilisation du langage de requêtes JPQL pour rechercher des beans entités
Mise en œuvre de l’héritage et d’associations unidirectionnelles et bidirectionnelles

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

Synchronisation de répertoires entre sites distants (détection d’ajout ou de suppression de fichiers dans un répertoire, comparaison des données temporelles sur les fichiers/répertoires des deux sites).

Java et les tests unitaires

Présentation, intérêt
Automatisation et intégration des tests dans le processus de builds, l'exemple de Maven
Mise en œuvre avec JUnit5, assertions, annotations
Cycle de vie d'exécution d'un test
Données de tests
Suite de tests

Travaux Pratiques :

Création de tests JUnit pour tester des classes
Mise en œuvre d’une suite de tests

Nouvelle API Date/Time

La gestion du temps «classique» et sa lourdeur de manipulation en Java (jour, mois, année, heure, minutes, sec.)
Les concepts de temps machine et temps humain avec la nouvelle API
La gestion du temps machine avec java.time.Instant et java.time.Duration
Le temps humain avec java.time.LocalDate, java.time.LocalTime, java.time.LocalDateTime

Travaux pratiques

Calcul de la date de règlement d'une facture
Analyse de chaînes de caractères pour conversion en dates
Calcul différentiel sur le temps (heure/minutes/secondes)
Gestion des décalages de fuseau horaire

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

Travaux Pratiques :

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 des 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éduction avec reduce et collect
Interface Collector et classe Collectors
Autres méthodes : limit, skip, sorted, min, max, distinct, allMatch, anyMatch, noneMatch, count
Streams parallèles, précautions d’usage

Travaux Pratiques :

Utilisation de nombreux streams séquentiels sur tableaux et collections
Mise en œuvre de streams parallèles
Comparaison de performances entre streams séquentiels et parallèles

Nouveautés de Java 9 à Java 11

Exécution de scripts Java avec JShell
Nouvelle organisation de la documentation des API Java
API Parser pour Nashorn
Notion de module
Utilisation des modules
Modularité du JDK
Déploiement d'applications Java
Rôle du linker Java jlink
Fichiers jar avec module.info
Nouveau format des fichiers jar avec JMOD
Nouvelle gestion des versions de Java
Gestion de licences pour les JDK11+
Mot-clé var
Nouveau client http
Exécution directe d'un fichier source java

Travaux Pratiques :

Migration d'une application Java 8 vers Java 11 (mise en oeuvre des modules)

REMARQUES :
 

Les participants signent une feuille de présence par demi-journée. Une attestation de fin de stage est remise à la fin de la formation.

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. Avis des participants à la formation Java Avancé, perfectionnement : Note moyenne : 4,3/5
5/5
Avis certifié A suivi un cours chez PLB

FA

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"

4/5
Avis certifié A suivi un cours chez PLB

SN

Mon avis sur le contenu du stage :

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

4/5
Avis certifié A suivi un cours chez PLB

BA

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"

Lire tous les avis

4/5
Avis certifié A suivi un cours chez PLB

AL

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

4/5
Avis certifié A suivi un cours chez PLB

Thomas

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

5/5
Avis certifié A suivi un cours chez PLB

Simon

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

S'INSCRIRE À CETTE
FORMATION JAVA AVANCÉ
Cliquez sur une date pour vous inscrire
Information pratiques sur
LA FORMATION
Lieu de la formation Paris - LA DEFENSE
Nous contacter 01 43 34 90 94
CETTE FORMATION SUR-MESURE Ce cours est réalisable en intra-entreprise, dans vos locaux ou nos salles de cours CONTACTER NOTRE SERVICE INTRA
D'autres formations
SUR LE MÊME THÈME

5 j

 
Cette formation java est adaptée aux développeurs n'ayant pas ou peu pratiquée la programmation orientée objet. Ce cours Java commence par présenter les...

5 j

 

Java - Java EE

Java, les fondamentaux
Cette formation sur Java 8 est destinée à acquérir les fondamentaux du langage Java. Elle répond à plusieurs objectifs : donner une vision claire des...

1 j

 
Ce cours vous prépare au passage de la certification Java 8 officielle "Oracle Certified Associate Java SE 8 Programmer" réf. 1Z0-808. Elle consiste à effectuer...

10 j

 

Java - Java EE

Le développement JAVA
Cette formation Java représente un cursus progressif de 10 jours visant à vous rendre autonome dans l'utilisation du langage Java et des frameworks incontournables que sont...
Plus de formations sur le même thème

Des questions ?

ON VOUS RAPPELLE

Tampon du Fafiec indiquant que PLB Consultant est partenaire de ses actions collectives

Votre formation Java prise en charge à 100% ! *

Depuis 2011, le 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, Lyon et Lille. 

Sessions intra-entreprise sur toute la France.

*100% des coûts pédagogiques, offre valable dans la limite des fonds mutualisés dédiés aux actions collectives, en application des critères de prise en charge en vigueur (voir conditions détaillées sur le site du FAFIEC)

 

0

Formations
Informatique
et Management
en ligne à ce jour

+ 0

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

0%

De participants
satisfaits ou très
satisfaits de nos
formations

0

Formateurs experts
validés PLB