Java : Programmation avancée

Java : Programmation avancée

Java : Programmation avancée

Type(s) : PD
Prérequis : Avoir suivi la formation Java 19 ou connaissances équivalentes
Objectifs : Maîtriser les nouvelles fonctionnalités avancées du langage Java Savoir utiliser les principaux frameworks et bibliothèques Java Appliquer les techniques de POO pour construire des classes et créer des objets Développer des applications Java en utilisant des bases de données relationnelles Sécuriser son application Java et comprendre le chargement des classes Tester, débugger et optimiser son application Comprendre et appliquer la programmation réflexive et concurrente
Durée : 4 Jours - 28 heures

Profil du formateur

Formateur consultant, expert, pédagogue et certifié dans son domaine

Méthode pédagogique

La formation est constituée d’apports théoriques et d’exercices pratiques. Chaque stagiaire dispose d’un poste de travail pour la formation en présentiel, et la gestion en petit groupe (jusqu’à 8 stagiaires) permet un suivi individualisé et adapté. Durant les sessions de formation, un support pédagogique est remis aux stagiaires.

Votre formation est en distanciel

Vous munir : un ordinateur, une connexion internet, une adresse e-mail valide, un équipement audio (micro et enceintes ou casque), une Webcam (facultatif , dans l’idéal) un deuxième écran (facultatif, dans l’idéal)

Suivi, évaluation, sanction

Des tours de table permettent de suivre la progression du stagiaire au fur et à mesure de la formation. Un suivi de la formation est réalisé par une feuille de présence émargée par demi-journée par les stagiaires et le formateur. Un questionnaire de satisfaction et une validation des acquis sont complétés par chaque stagiaire en fin de formation.

Formation sans certification

Plan du cours

Rappel des nouveautés de Java 19

  • Aperçu des modèles d’enregistremen
  • Prise en charge de l’architecture de jeu d’instruction Linux/RISC-V
  • Aperçu dAPI de fonction et de mémoire étrangère
  • Aperçu des threads virtuels
  • Quatrième incubation d’API vectorielle
  • Troisième aperçu de la correspondance de motifs pour switch

 

La programmation réflexive

  • Qu’est-ce que la programmation réflective ?
  • La réflexivité sur Java
  • Les annotations
  • Obtenir l’objet d’une Class class
  • Déterminer l’objet de la class
  • Constructors Methods et fields
  • L’API reflection
  • L’instantiation et l’invocation dynamique

 

La programmation concurrente et le multi-threading

  • Les threads et la programmation multithread
  • Le cycle de vie d’un thread
  • Les problèmes et les bénéfices du multithreading
  • Le Multithreading avec GUI
  • Semaphore et synchronisation entre les threads
  • Interrompre les threads
  • Aperçu des collections concurrentes
  • Créer et gérer ses threads
  • Gérer la concurrence

 

Java Management Extension (JMX)

  • L’architecture de JMX
  • Présentation de la couche istrumentation (les MBeans)
  • Les différents concepts associés (Dynamic MBeans, Open MBeans, Model MBeans et MXBeans)
  • La couche agent
  • La couche services distribués
  • La console d’administration (JConsole)
  • Contrôler une JVM

 

Java Message Service (JMS)

  • Pourquoi JMS ?
  • JMS 1 et 2 API
  • Gestion des messages (création, priorisation, demande de réponse, délai de livraison et d’expiration)
  • Les types de messages et les objets message
  • Les interfaces et les classes JMS
  • Les différents types de communication (communication de point à point, publish subscribe, par queue…)
  • Filtrer ou grouper les messages
  • Sécuriser et Administrer JMS

 

Java Server Faces (JSF)

  • Présentation des concepts JSF
  • Le modèle MVC
  • Configurer une application JSF
  • Le cycle de vie d’un requête
  • Facelets et Ajax

 

SQL et accès aux bases de données avec JDBC

  • Rappel sur les bases de données relationnelles
  • Différentes interfaces dans l’API JDBC
  • Requête SELECT de base
  • Clause WHERE
  • Clause ORDER BY
  • Fusionner les données de plusieurs tables : INNER JOIN
  • Instruction INSERT
  • Déclaration UPDATE
  • Déclaration DELETE
  • Installation de MySQL et de MySQL Connector/J
  • Création d’une base de données dans MySQL

 

Les expressions Lambda

  • Interfaces, expressions lambda et classes internes
  • Interfaces
  • Expressions lambda
  • Classes internes
  • Chargeurs de services
  • Proxies
  • Classe anonyme, concept d’expression lambda
  • Manipuler les collections grâce aux lambda expressions
  • Code SQL : Les Listeners

 

Introduction à JSTL

  • Qu’est-ce que JSTL (Java Server page Standard Tag Library) ?
  • Classifications des tags
  • Fonctions principales de JSTL
  • Utilisation des balises personnalisées
  • Comment réduire son code ?
  • Comment rendre son code plus performant avec JSTL ?

 

Servlets

  • Qu’est-ce qu’un servlet ?
  • Méthodes HTTP ; GET, POST, PUT, DELETE, TRACE, OPTIONS
  • Cycle de vie des servlets
  • Contexte configuration du servlet
  • Développer une application utilisant des servlets

 

Mise en réseau

  • Manipulation des URLs
  • Lire un fichier sur un serveur Web
  • Établissement d’un serveur simple à l’aide de sockets de type Stream
  • Établissement d’un client simple à l’aide de sockets en continu
  • Interaction client/serveur avec les connexions Stream Socket
  • Datagrammes : Interaction client/serveur sans connexion
  • Client/Serveur/Serveur multithreaded

 

Les librairies

  • Présentation de Java Standard Library
  • Utiliser la machine virtuelle Java (JVM)
  • Programmer plus simplement grâce à Java Standard Library
  • Réutiliser des composants Java avec Apache Commons
  • Manipuler des fichiers JSON, CSV et XML avec la bibliothèque Jackson

 

Débuter avec Spring

  • Présentation de Spring
  • Les capacités du Framework
  • La programmation orientée aspect
  • L’API REST

 

Découvrir Hibernate

  • Présentation d’Hibernate
  • Configuration du framework
  • La gestion d’une occurrence
  • L’héritage des classes
  • Générer son code

 

Tester ses applications

  • Les bonnes pratiques de test
  • Les différents types de test
  • Frameworks pour effectuer des tests unitaires
  • Test Driven Development
  • Troubleshooting

 

Sécuriser ses applications web

  • Sécurité déclarative et programmatique
  • Les rôles
  • Authentification de base
  • Authentification Digest
  • Authentification par formulaire
  • Formulaire de connexion standard
  • Contraintes de sécurité
  • Collection de ressources Web

Nous contacter

AMS Formation (France)
03 83 67 63 05
22 Rue de Medreville
54000 Nancy – France

AMS Formation (Luxembourg)
00 352 26 10 22 58
145, route de Pétange
L-4645 Niederkorn – Luxembourg

ams-formation@ams-training.com

Suivez-nous

Retrouvez toute l'actualité d'AMS Formation sur les réseaux sociaux.