Sélectionner une page
Formations Langage Java Formation Java : Programmation avancée

Formation Java : Programmation avancée

Niveau expert
Catégorie Essential
Logo Formation Java 12
Prix 2340€ HT / personne
4 jours (28 heures)

Paris | Classe Virtuelle

Dernières places Virtuelle uniquement
Labs : Infrastructure DaaS avec Chrome
Cafés et déjeuners offerts en interentreprises
En intra-entreprise pour former votre équipe
Aide au financement 2500€ Bonus Atlas CPF

Présentation

Notre formation JAVA, programmation avancée 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. Si vous maîtrisez les fonctionnalités basiques de Java, cette formation est faite pour vous. Vous y découvrirez les concepts avancés du langage, comme la programmation réflexive ou encore la programmation concurrente.

De manière moderne et professionnelle, vous découvrirez à travers toutes les dernières nouveautés Java, comment tester, débugger et optimiser vos applications Java efficacement. De plus, nous vous présenterons les frameworks les plus populaires : Spring et Hibernate.

Grâce à une approche pédagogique concrète basée sur un projet fil rouge captivant, vous explorerez des techniques pratiques : gestion efficace de la concurrence avec le multithreading et les threads virtuels, optimisation des performances en maîtrisant les mécanismes avancés du Garbage Collector, et implémentation dynamique par la réflexion et la métaprogrammation. Chaque atelier vous permettra d’intégrer immédiatement ces concepts complexes dans votre projet.

Cette formation aborde également en profondeur les frameworks incontournables du monde Java comme Spring Boot, Hibernate et JPA, et vous guidera vers la création d’applications robustes, sécurisées et maintenables. Vous apprendrez à concevoir des microservices REST performants, gérer efficacement l’accès aux données relationnelles, optimiser les requêtes SQL et exploiter les ORM pour faciliter la persistance des données.

Enfin, vous resterez à la pointe des dernières évolutions technologiques en découvrant toutes les nouveautés apportées par les versions récentes du JDK (de Java 8 à Java 24). Modules, Records, Pattern Matching, Scoped Values, Structured Concurrency : cette formation vous permettra de comprendre et d’appliquer ces innovations, faisant de vous un véritable expert en programmation Java avancée, prêt à relever tous les défis techniques actuels et futurs.

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

 

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

 

Public visé

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

 

Pré-requis

  • Avoir suivi notre formation Java ou avoir un niveau équivalent

Programme de notre formation Java : Programmation avancée

 

Classes internes, généricité et conception SOLID en Java

  • Classes internes/anonymes
  • Généricité avancée
  • Interfaces fonctionnelles
  • Enums & immutabilité
  • Patterns & SOLID
  • Classe anonyme, concept d’expression lambda
  • Atelier pratique : Mettre en place la structure initiale des classes du jeu (héros, monstre, inventaire générique).

 

Programmation fonctionnelle (Lambdas & Streams)

  • Lambdas
  • Interfaces fonctionnelles standards
  • API Stream
  • Optional
  • Streams parallèles
  • Atelier pratique : Gestion d’une liste monstres via Streams.

 

Concurrence & Multi-threading

  • Les threads et la programmation multithread
  • Le cycle de vie d’un thread
  • Threads/Runnables
  • Synchronisation
  • ExecutorService
  • Locks avancés
  • Sémaphore et synchronisation entre les threads
  • Interrompre les threads
  • Aperçu des collections concurrentes
  • Bonnes pratiques threads
  • Atelier pratique : Jeu temps réel (spawn monstres concurrents).

 

Mémoire & Garbage Collector

  • Modèle mémoire JVM
  • Fonctionnement GC
  • Algorithmes GC
  • Surveillance mémoire
  • Atelier pratique : Test stress mémoire, optimisation simple.

 

Réflexion & Métaprogrammation

  • Qu’est-ce que la programmation réflective ?
  • API réflexion
  • Obtenir l’objet d’une Class class
  • Déterminer l’objet de la class
  • Constructors Methods et fields
  • Invocation dynamique
  • Instanciation dynamique
  • Annotations
  • Proxies dynamiques
  • Atelier pratique : Chargement dynamique nouveaux monstres.

 

Sécurité & Class Loaders

  • Modèle sécurité JVM
  • Chargement dynamique classes
  • Plugins/modularité
  • Vérification bytecode
  • Authentification
  • Gestion avancée du ClassLoader personnalisé
  • Éviter les vulnérabilités classiques
  • Conseils & bonnes pratiques pour sécuriser son application
  • Atelier pratique : Plugin externe sécurisé pour nouveaux monstres.

 

Rappel sur les Bases de données relationnelles & SQL

  • Tables (relations) : ensembles organisés en lignes (tuples) et colonnes (attributs).
  • Clés primaires : identifiant unique d’un enregistrement.
  • Clés étrangères : référence à une clé primaire d’une autre table (relations).
  • Relations : types (1:1, 1:N, N:M).
  • Intégrité référentielle : cohérence des références entre tables (via clés étrangères).
  • Rappels des formes normales (normalisation)
    • 1ère forme normale (1FN)
    • 2ème forme normale (2FN)
    • 3ème forme normale (3FN)
    • Forme normale de Boyce-Codd (FNBC)
  • Requête SELECT de base
  • Clause WHERE, Clause ORDER BY
  • Instruction INSERT, UPDATE, DELETE
  • Atelier pratique : Optimiser une requete en s’appuyant sur le plan d’execution.

 

Bases de données relationnelles & SQL avec Java

  • Différentes interfaces dans l’API JDBC
  • Connexion SQL, PreparedStatement et Transactions
  • Pattern DAO
  • Pooling connexions
  • Les différentes jointures
  • Optimisation d’une requete et plan d’execution
  • Atelier pratique : Sauvegarde scores joueurs JDBC.

 

ORM avec Hibernate/JPA

  • ORM principes
  • Hibernate configuration
  • Mapping entités
  • Cycle de vie entités
  • Requêtes JPA/HQL
  • Lazy loading/cache
  • Héritage ORM
  • Atelier pratique : Persistance du jeu via Hibernate.

 

Framework Spring

  • La programmation orientée aspect
  • Injection dépendances
  • Configuration Spring/annotations
  • Spring Boot
  • API REST MVC
  • Spring Data JPA
  • AOP
  • Spring Security (intro)
  • Atelier pratique : Création d’un microservice REST sécurisé API et performant pour une action du jeu via Spring Boot.

 

Qualité logicielle

  • Tests unitaires JUnit
  • Mockito/mocks
  • TDD
  • Debugging efficace
  • Stratégies de Troubleshooting
  • Analyse des logs
  • Atelier pratique : Tests des règles combat du jeu.

 

Optimisation des performances

  • Présentation de Java Management Extension (JMX)
  • Profilage CPU/mémoire (JFR, VisualVM, Java Flight Recorder, YourKit)
  • Optimisation algorithmes & structures
  • Réglages avancés du Garbage Collector ((G1, ZGC, Shenandoah)
  • Gestion efficace concurrence & threads virtuels
  • Mise en cache applicative (EHCache, Caffeine)
  • Benchmarking (JMH) & tests de charge (JMeter, Gatling)
  • Atelier pratique : Profiler et optimiser les points critiques du jeu (ex : combats, génération monstres). Mesurer l’amélioration des performances.

 

Principales Nouveautés du langage Java

  • Présentation de Java 21 (LTS) et aperçu Java 22/23/24
  • Pattern matching
  • Threads virtuels
  • Amélioration des APIs modernes
  • Vector API
  • APIs avancées
  • La future LTS 25 (Septembre 2025)

 

Évolution en détail de la JDK 8 à la JDK 24

  • Modules (JPMS)
  • Inférence de type (var)
  • Text Blocks
  • Switch Expressions
  • Records
  • Classes scellées
  • Pattern Matching
  • Threads virtuels
  • Scoped Values
  • Stream Gatherers
  • Structured Concurrency
  • String Templates
  • Class-File API
  • Importation de modules
  • Types primitifs dans les motifs
  • Vector API
  • Chargement anticipé des classes
  • Désactivation du Security Manager
  • Compact Object Headers
  • Key Derivation Function API

Pour aller plus loin

Formation Java

 

Formation Java EE

Formation OWASP Java

Formation Java programmation reactive

 

Formation MAUI : .NET

Formation Java Mise à Niveau

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

⭐⭐⭐⭐⭐ 4,8/5 sur Google My Business. Vous aussi, partagez votre expérience !

Afficher tous les témoignages

⭐⭐⭐⭐⭐ 4,8/5 sur Google My Business. Vous aussi, partagez votre expérience !

Noter la formation

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

Paris | Classe Virtuelle

Dernières places Virtuelle uniquement
Labs : Infrastructure DaaS avec Chrome
Cafés et déjeuners offerts en interentreprises
En intra-entreprise pour former votre équipe
Aide au financement 2500€ Bonus Atlas CPF

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