Formations Application & Mobilité Formation Java : Programmation avancée

Formation Java : Programmation avancée

Noté 0 sur 5
Logo Formation Java 12
Prix 2340€ HT / personne
Durée 4 jours ( 28 heures )

Paris | à distance | FNE

Il ne reste que quelques places
NewCafés et déjeuners offerts en interentreprises
Disponible en intra-entreprise pour former votre équipe
Je ne veux pas me déplacer ? Option classe virtuelle gratuite

Présentation

Si vous maîtrisez les fonctionnalités basiques de Java, cette formation est faite pour vous. Vous y dcouvrirez les concepts avancés du langage comme la programmation réflexive ou encore la programmation concurrente.

Vous découvrirez comment tester, débugger et optimiser vos applications Java efficacement. De plus, nous vous présenterons les frameworks les plus populaires : Spring, Hibernate et JSF.

Notre formation Java avancé vous donnera les techniques nécessaires à la réalisation de programmes Java complexes. Vous apprendrez à optimiser et sécuriser vos applications de la meilleure des manières.

Comme pour toutes nos formations, celle-ci vous présentera la dernière version de Java ( JDK 18).

 

Objectifs

  • Maîtriser les fonctionnalités nouvelles et 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

 

Public visé

  • Développeurs
  • Architectes techniques
  • Chargé de développement des applications
  • Chef de projet en informatique

 

Pré-requis

  • Avoir suivi notre formation Java 18

Programme de notre formation Java : Programmation avancée

 

Rappel des nouveautés de Java 18

  • Mise à niveau et migration
  • Comparaison des fichiers
  • Collecteurs : Teeing Collector
  • L’API de chaînes de caractères
  • Formatage compact des nombres
  • Adoption de l’Unicode 11

 

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

Pour aller plus loin

Formation Java

 

Formation Java EE

Formation OWASP Java 

Formation Micronaut

 

Formation MAUI : .NET

Formation Swift

Langues et Lieux disponibles

Langues

  • Français
  • Anglais / English

Lieux

  • France entière
    • Paris
    • Lille
    • Reims
    • Lyon
    • Toulouse
    • Bordeaux
    • Montpellier
    • Nice
    • Sophia Antipolis
    • Marseille
    • Aix-en-Provence
    • Nantes
    • Rennes
    • Strasbourg
    • Grenoble
    • Dijon
    • Tours
    • Saint-Étienne
    • Toulon
    • Angers
  • Belgique
    • Bruxelles
    • Liège
  • Suisse
    • Genève
    • Zurich
    • Lausanne
  • Luxembourg

Témoignages

Afficher tous les témoignages

Noter la formation

Prix 2340€ HT / personne
Durée 4 jours ( 28 heures )

Paris | à distance | FNE

Il ne reste que quelques places
NewCafés et déjeuners offerts en interentreprises
Disponible en intra-entreprise pour former votre équipe
Je ne veux pas me déplacer ? Option classe virtuelle gratuite

UNE QUESTION ? UN PROJET ? UN AUDIT DE CODE / D'INFRASTRUCTURE ?

Pour vos besoins d’expertise que vous ne trouvez nulle part ailleurs, n’hésitez pas à nous contacter.

ILS SE SONT FORMÉS CHEZ NOUS

partenaire sncf
partenaire hp
partenaire allianz
partenaire sfr
partenaire engie
partenaire boursorama
partenaire invivo
partenaire orange
partenaire psa
partenaire bnp
partenaire sncf
partenaire hp
partenaire allianz
partenaire sfr
partenaire engie
partenaire boursorama
partenaire invivo
partenaire orange
partenaire psa
partenaire bnp