Aller au contenu principal

Développement Java avancé

  • 35h · 5j
  • Français
Formation Java avancé : généricité, concurrence, streams, performance et patterns de conception. 35h, 5 jours, exercices avancés, éligible CPF.

Indicateurs de performance

Moyennes Elitek, toutes formations confondues

8.91/10

Satisfaction stagiaires

92%

Réussite à la certification

94%

Recommandent la formation

1 200+

Stagiaires formés

Objectifs pédagogiques

  • Maîtriser les concepts et fonctionnalités avancés de Java SE
  • Approfondir certains aspects du langage et de ses évolutions (de Java SE 5 à Java SE 8)
  • Développer des applications dans des environnements multi threads, concurrents
  • Mettre en œuvre différentes communications d’objets
  • Maîtriser les API de communication synchrones et asynchrones.
  • Manipuler la persistance des données avec JPA
  • Internationaliser ses applications
  • Bénéficier de retours d’expérience sur des problématiques récurrentes

Public concerné & prérequis

Profil du stagiaire
  • Développeurs
  • Chefs de projets
  • Concepteurs
Prérequis
  • Connaissances en conception objet

Programme détaillé

Aspects de la JVM, Java Virtual Machine
  • Mécanismes liés à la JVM pour assurer la sécurité
  • Modèle de sécurité : permissions, politiques et domaines de sécurité
  • Gestionnaire de sécurité et contrôle d’accès
  • Les mécanismes de chargement de classes
  • Développement de chargeurs de classes spécifiques
Évolutions de la syntaxe Java
  • Rappels des évolutions de Java 5 à Java 8
  • Structures de contrôles « switch » avec des objets String
  • Faciliter la lecture des valeurs littérales
  • Traitements des chaînes de caractères et expressions régulières
  • Travaux Pratiques : Mise en œuvre d’exécutables afin de tester les nouveautés : des chaînes de caractères et des expressions régulières, des structures de contrôles, des boucles
Rappels des Generics, collections et évolutions
  • Les nouvelles collections
  • Opérateur diamant <> et inférence de type
  • Suppression possible des avertissements lors de l’utilisation des varargs
Gestion des erreurs
  • Rappels des assertions
  • Les tests avec Junit
  • Prise en compte de plusieurs exceptions dans la clause catch
  • Opérateur try-with-resources
La programmation concurrente
  • Mise en œuvre des Threads
  • Cycle de vie des Threads
  • Eager loading et lazy loading
  • Ordonnancement des Threads
  • La synchronisation des Threads
  • Le verrouillage des méthodes et des instructions (synchronized)
  • Les moniteursPrincipes et problèmes de la conception d’applications multi threads
  • La librairie concurrente
  • Les nouvelles collections
  • Les nouveaux outils de synchronisation : les verrous partagés/exclusifs, les sémaphores, les barrières cycliques
  • L’utilisation du framework Fork/JoinLa Classe Phaser
  • Travaux Pratiques : Création d’une application mutli-threads pour faire communiquer un client et un serveur
  • Mise en œuvre du framework Fork/Join, manipulation de la classe Phaser, gestion de la parallélisation
La programmation réflexive
  • Objectifs et principes
  • Le chargement de classes
  • L’objet Class
  • Découverte dynamique des informations (propriétés et méthodes) relatives à une classe ou à un objet
  • Instanciation dynamiqueInvoquer une méthode
  • La réflexivité des annotations
  • Travaux Pratiques : Prise en compte dans la gestion des exceptions de plusieurs types d’erreur, manipulation des génériques et de l’auto boxing, récupération des ressources, en cas d’anomalie
La persistance avec Hibernate et JPA
  • Rappels de l’accès aux données, JDBC et DAO
  • Architecture logicielle d’Hibernate et de JPA
  • Architecture Technique d’Hibernate et de JPA
  • Mise en place de l’environnement
  • Les objets et les différents mappings
  • Les langages de requête Hibernate QL et JQPL
  • Travaux Pratiques : A partir d’une base de données relationnelle existante, générer un projet de persistance. Manipuler les Entités créées automatiquement. Tester les transactions, rechercher une entité par sa clé primaire. Modifier une entité, créer un objet entité pour contrôler la persistance en base. Se familiariser avec l’objet Query, effectuer des sélections et manipuler une Collection d’Entités.Comprendre les relations entre entités
Introduction avec le Framework Spring
  • Les différents modules de Spring
  • L’injection des dépendances (IoC)
  • Les pools de connexions et les transactions
  • Intégration avec Hibernate
  • Spring MVC – Architecture générale contrôleurs
  • Dispatchers et Handlers
  • Travaux Pratiques : Manipuler l’injection de dépendances dans la mise en œuvre des tests applicatifs. Intégration de l’application Hibernate, dans Spring. Comprendre l’architecture MVC de Spring
Présentation de la programmation fonctionnelle
  • Objectifs et principes
  • Expressions Lambda
  • Interfaces fonctionnelles
  • Travaux Pratiques : Réécriture d’une application manipulant une liste de Java beans Personne et effectuant des recherches sur les personnes afin de comprendre l’intérêt de la programmation fonctionnelle et les Lambda expressions
La communication par messages JMS (Java Message Service)
  • Présentation de l’Architecture MQ et JMS : Files Topics, Queues, Serveurs MQ
  • Communication Point-To-point avec les Queues
  • Communication Publish/Subscribe avec les Topics
  • Travaux Pratiques : Maintenance d’une application utilisant les 2 modes de communication de JMS, afin de s’envoyer des messages asynchrones et de déclencher des traitements Java

Modalités pédagogiques

  • Présentation du formateur et du programme
  • Présentation et écoute de chacun de stagiaires.
  • Apports didactiques pour apporter des connaissances communes
  • Mises en situation de réflexion sur le thème du stage et des cas concrets
  • Méthodologie d’apprentissage interactive et participative
  • Exercices et études de cas concrets, temps d’échange
  • Documents supports de formation projetés
  • Au début de la formation : Analyse du besoin et des attentes
  • Tout au long de la formation : Évaluation continue des acquis via des exercices, des QCM et des cas pratiques
  • A la fin de la formation : Quizz de fin de parcours et formulaire d’évaluation de la formation
  • Mise à disposition en ligne de documents supports à la suite de la formation

Validation & certification

La formation est ponctuée d’une attestation de fin de formation délivrée par Elitek au client. Y seront précisés les objectifs pédagogiques, le nombre d’heures total de la formation, la validation des acquis et la date.

Expérience & résultats

  • Taux de satisfaction : 8.91/10

*Moyenne des notes attribuées par un apprenant de la formation au cours des 12 derniers mois

Prochaines sessions

📅 Sessions sur demande

Un conseiller Elitek vous propose une date adaptée à votre planning sous 24 h. Formations disponibles en présentiel et en distanciel.

Demander une date →

Accessibilité & Qualiopi

Elitek est certifié Qualiopi pour ses actions de formation. Nos formations sont accessibles aux personnes en situation de handicap : un référent handicap vous accompagne pour adapter le parcours (rythme, supports, modalités d'évaluation). Contactez-nous pour étudier les adaptations possibles.