Sessions inter 13 nov. Management Participatif : Inspirer, Fédérer et Responsabiliser vos Collaborateurs · à distance, France entière13 nov. SST - Sauveteur Secouriste du Travail - Recyclage · Toulouse ou à distance16 nov. Anglais technique & ingénierie – certification CLOE · Toulouse ou à distance16 nov. CACES® R482 - Engins de chantier - Initiale · Toulouse ou à distance17 nov. SSIAP 1 - Module complémentaire · Toulouse ou à distance18 nov. Google Sheets : maîtriser les bases pour analyser vos données · Toulouse ou à distance19 nov. Devenir Manager Agile Niveau II · Toulouse ou à distance19 nov. Maîtriser les Conflits : De la Tension à la Solution · Toulouse ou à distance20 nov. Prévenir les Risques Psychosociaux : Manager pour le Bien-Être · à distance, France entière23 nov. C++ : Maîtriser la POO pour concevoir des logiciels robustes · Toulouse ou à distance23 nov. DevOps Foundation : Comprendre et appliquer DevOps efficacement · Toulouse ou à distance26 nov. De CATIA V5 à 3DEXPERIENCE — réussir la transition · Toulouse ou à distance26 nov. Excel - Perfectionnement · Toulouse ou à distance27 nov. Manager une personne en situation de handicap · à distance, France entière30 nov. Docker : Maîtriser les Conteneurs d'Applications · Toulouse ou à distance30 nov. Séniors : réussir sa fin de carrière et préparer son avenir · Toulouse ou à distance Toutes les dates Financement CPF Formation intra 05 62 84 10 13
Développement & numérique · Langages de programmation

Java : Approfondissez vos compétences et développez des applications complexes

Approfondissez Java, maîtrisez les concepts avancés et développez des applications modulaires et performantes avec des pratiques professionnelles et évaluables.

Durée28 h4 jours
FormatToulouse ou à distance (France entière)12 participants max.
CertificationAttestationde fin de formation
FinancementOPCO · France Travail
En groupe · tarif par participant
2 490 € HT / personne

Prochaine session : 1 décembre 2026 · Toulouse ou à distance (France entière) · Formation exonérée de TVA.

Voir les dates de session →
Pour votre équipe
Sur devis

Dans vos locaux ou à distance, aux dates de votre choix, programme adapté à vos outils. Prise en charge possible par votre OPCO.

Demander un devis
Une question ?05 62 84 10 13
Être rappelé·e
Télécharger le programme (PDF)

Ce que vous saurez faire

  • Créer et utiliser des classes et objets avancés en Java.
  • Manipuler des collections et API Java.
  • Utiliser la généricité, les streams et fonctions lambda.
  • Appliquer des design patterns pour organiser le code.
  • Gérer les exceptions et réaliser des tests unitaires.
  • Accéder et manipuler des bases de données avec JDBC.
  • Développer des interfaces graphiques simples (Swing/AWT).
  • Optimiser et déboguer des applications Java.
  • Lire et écrire des fichiers et flux de données.

Programme détaillé

Public visé & prérequis

Public :

  • Développeurs
  • Chargés de développement d'applications informatiques
  • Chefs de projets proches du développement

Prérequis :

  • Maitriser le langage Java
  • Connaitre les concepts de bases de données relationnelles et du langage SQL
  • Disposer d'une expérience en programmation Java.
  • Un questionnaire de positionnement sera réalisé au préalable pour adapter la formation à vos besoins
Objectifs pédagogiques
  • Maîtriser les aspects avancés du langage Java
  • Comprendre comment appliquer les principaux Frameworks et librairies Java
  • Comprendre le modèle de sécurité et le chargement des classes Java
  • Savoir programmer en Java dans le contexte des bases de données relationnelles
  • Savoir tester, debugger et optimiser ses applications
  • Appréhender les nouveautés Java
Programme

Jour 1 : Comprendre la JVM et fiabiliser ses applications Java

Savoir tester, déboguer et optimiser ses applications (1/2)

  • Historique de Java SE
  • JVM, JRE et JDK
  • Édition Oracle ou OpenJDK et licences respectives
  • Code source et bytecode
  • Package et modules
  • Shell Java
  • IDE, tests et débogueur
  • Exemples de travaux pratiques : les participants réalisent un TP permettant de découvrir du Shell Java pour tester des expressions simples. Ils débuggent une application échouant à des tests unitaires.

Savoir tester, déboguer et optimiser ses applications (2/2)

  • Gestion de la mémoire
  • Pile et tas
  • Le ramasse miette
  • Référence Forte
  • Référence Faible
  • Référence fantôme
  • Monitoring
  • Console Java
  • Java Mission Control (version Oracle uniquement)
  • Exemples de travaux pratiques : les participants utilisent des références faibles dans un outil chargeant/déchargeant un graphe d'objets. Ils réalisent un Monitoring de l'application avec Java Console (jconsole) et Java Mission Control (jmc).


Jour 2 : Langage Java avancé

Maîtriser les aspects avancés du langage Java (1/6)

  • Autoboxing des types primitifs
  • Les varargs
  • Les énumérations complexes
  • Les données temporelles depuis Java 8
  • Création, formatage, parsing des données temporelles
  • Fuseaux horaires et paramètres locaux
  • Exemples de travaux pratiques : les participants écrivent des types énumérés complexes pour gérer des familles, couleurs et valeurs d'un jeu de carte.

Maîtriser les aspects avancés du langage Java (2/6)

  • Interface fonctionnelle
  • Méthodes « default » et « static » des interfaces
  • Les fonctions anonymes
  • Référence de méthode objet
  • Référence de méthode sur un objet particulier
  • Référence de constructeur
  • Référence, héritage et liaison tardive
  • Référence et surcharges
  • Référence et autoboxing
  • Référence et conversions implicites sur les nombres

Quizz : les participants réalisent un quizz permettant de relier des fonctions anonymes, des méthodes et constructeurs à des types fonctionnels (inclure méthode sur un objet particulier, méthode objet d'une classe, méthode de classe, méthode héritée, méthode redéfinie, surcharge de méthodes ou constructeurs, l'autoboxing des types primitifs, les conversions implicites des types primitifs). Vérification avec JUnit.

  • Exemples de travaux pratiques : les participants doivent écrire un type fonctionnel IntTernaryOperator et une méthode de composition avec un opérateur unaire sur les entiers Prendre 2 fonctions f et g en paramètres et calculer g(f(x,y,z)). Exemple : f(x) → x²+3y+z et g(x) → √(x²+1).

Jour 3 : Langage Java avancé

Maîtriser les aspects avancés du langage Java (3/6)

  • Inférence de type
  • Déclaration de variable avec mot clé var
  • Effacement de type
  • Types génériques avec lower ou upper bound
  • Covariance et contravariance
  • Méthode générique
  • Exemples de travaux pratiques : les participants doivent écrire des comparateurs de films (titre, année, durée) en utilisant une combinaison de critères, les ordres naturels ascendants ou descendant, et en ignorant la classe. Exploiter chaque comparateur pour trier une liste de films.

Maîtriser les aspects avancés du langage Java (4/6)

  • Collections de Java
  • Collections simplifiées pour l'écriture des tests
  • Itérateurs
  • Instruction for "each" vs méthode forEach
  • Boîte à outils util.Collections
  • Exemples de travaux pratiques : les participants doivent :
    • Trouver le film de durée maximale dans une liste de
    • Reverser une liste de film dans un ensemble ordonné de films par durée
    • Trouver le film de durée maximale dans cet ensemble, comparer les 2

Maîtriser les aspects avancés du langage Java (5/6)

  • Les streams d'objets
  • Les principes du map/reduce
  • Interfaces fonctionnelles dédiées au map/reduce
  • Filtrer les données
  • Transformation des données
  • Collecte des données
  • Gestion particulière des types primitifs
  • Utilisation des collecteurs prédéfinis
  • Écrire un collecteur custom
  • Génération de streams
  • Combiner des streams
  • Exemples de travaux pratiques : les participants reprennent l'exercice de la séquence précédente et doivent :
    • Collecter des statistiques sur la durée de films sur une plage d'années
    • Regrouper des films par réalisateur et collecter des statistiques sur sa carrière (années ou durées)
    • Partitionner des films suivant un critère d'année ou durée

Maîtriser les aspects avancés du langage Java (6/6)

  • Les annotations
  • Annotations standards et Méta-Annotations
  • Rétention des annotations
  • Cible des annotations
  • Les arguments d'une annotation
  • Lecture par réflexion d'une annotation
  • Traitement avec javac ou annotation.processing
  • Manipulation de bytecode avec Javassist
  • Exemples de travaux pratiques : le formateur réalise un focus sur les annotations @Override et @FunctionalInterface.

Jour 4 : Frameworks, données, sécurité et concurrence

Comprendre le modèle de sécurité et le chargement des classes Java

  • Api d'introspection
  • La classe Class<T>
  • Les autres classes du méta modèle
  • Instanciations et appels dynamique
  • Restriction de sécurité
  • Exploitation dynamique des annotations
  • Exemples de travaux pratiques : les participants doivent écrire :
    • (généricité et introspection) un outil générique transformant un Stream d'objets de type T en stream d'objets du sous type U, en ne gardant que les instances du type U.
    • (exploitation dynamique d'annotations) un mini Framework de validation de données par
    • (exploitation dynamique d'annotations) un mini Framework de persistance pour générer automatiquement des ordres SQL.

Comprendre comment appliquer les principaux Frameworks et librairies Java

  • nio (NIO et NIO2) vs java.io
  • Les flux d'entrées sorties
  • Gestion du système de fichiers
  • Pattern visiteur
  • Sérialisation des objets
  • Ressources Autocloseable et try-with-resources
  • Exemples de travaux pratiques : Dans le cadre de l'exercice de la séquence précédente, les participants doivent :
    • rechercher une liste de fichiers correspondant à un motif.
    • rechercher dans un fichier texte les lignes correspondant à un motif.
    • écrire un indexeur de fichiers collectant la taille et date de dernière modification des fichiers d'une arborescence de fichiers en utilisant le pattern visiteur.
    • sauvegarder les résultats d'une recherche dans un fichier.

Comprendre comment appliquer les principaux Frameworks et librairies Java

  • Données optionnelles
  • Interface Optional<T>
  • Types primitifs optionnels
  • Traitement impératif optionnel
  • Transformation d'une donnée optionnelle
  • Objets optionnels imbriqués
  • Exemples de travaux pratiques : dans le cadre de l'exercice de la séquence précédente, les participants doivent :
    • Faire une transformation d'un objet entité en objet DTO issu d'une recherche au résultat
    • Lier 1 objet film à son réalisateur. Les 2 objets sont issus de 2 recherches au résultat
    • Saisir, stocker et afficher la date de naissance d'un artiste de cinéma en fonction des paramètres locaux de l'utilisateur.
    • Écrire une méthode générique emptiesFirst qui construit un comparateur d'éléments optionnels de type T à partir d'un comparateur de type T, à l'image de nullsFirst de java.util.Comparator.

Savoir programmer en Java dans le contexte des bases de données relationnelles

  • Spécification JDBC et drivers JDBC
  • ORM, JPA et Hibernate
  • Configuration ORM et gestion des sessions
  • Mapping d'une classe simple avec une table
  • Types temporels, énumérations
  • Collections simples
  • Mapping d'associations
  • CRUD sur les objets
  • Requêtes JPQL, HQL ou SQL natif
  • Requêtes avec l'API Criteria
  • Exemples de travaux pratiques : les participants doivent mapper les entités simples « Film et Artiste » avec les tables correspondantes dans une base de données relationnelle. Mapper les associations « jouer dans » et « réaliser par » entre ces 2 entités. Tester via des tests unitaires le CRUD sur ces 2 entités ainsi que quelques requêtes représentatives en JPQL ou avec l'API criteria (sélection avec prédicat simple, projection, jointure, agrégat, statistiques).

Appréhender les nouveautés Java

  • Concurrence et Parallélisme
  • Thread
  • Méthode synchronized
  • Mécanisme de moniteur avec wait et notify
  • RentrantLock
  • Pool de threads, tâches Future et ForkJoinTask
  • Traitements parallèles sur les streams d'objets
  • Exemples de travaux pratiques : les participants doivent :
    • Écrire un programme Producteur/Consommateur qui permet en parallèle d'écrire et lire dans un buffer.
    • Paralléliser les calculs de statistiques fait en map/reduce sur une liste de films. Comparer avec la version non parallèle
Méthodes et moyens pédagogiques
  • Exercices concrets
  • Cas pratiques
  • Quiz d'évaluation des connaissances
  • Mise à disposition de postes de travail
  • Vidéoprojecteur, tableau blanc, supports numériques
  • Documentation pédagogique numérique
Modalités d’évaluation
  • Positionnement en amont de la formation :
    • Un quiz de consolidation des pré-requis sera administré en amont de la formation
  • Suivi « pendant » :
    • Feuilles de présence
    • Exercices pratiques
    • Évaluation « fin de formation »
    • Évaluation des acquis en fin de formation
    • Formulaires d'évaluation de la formation
  • Évaluation à froid :
    • Suivi post-formation : Questionnaire de satisfaction à j+30
Profil des formateurs

Expert Java confirmé avec expérience opérationnelle en développement d'applications avancées, capable de transmettre les concepts complexes de manière claire et pratique, et de guider les participants dans des projets concrets.

Modalités d’admission

Inscription toute l'année.

Accessibilité et délais d’accès

Délais d'accès à la formation

Le délai d'accès à la formation est variable en fonction du dispositif de financement utilisé, du planning des formateurs et des contraintes du client. Pour les formations inter-entreprises, vous pouvez consulter notre calendrier en ligne ou prendre contact avec nous. Nous traitons vos demandes sous 48 heures

Accessibilité

Si vous êtes en situation de handicap, merci de nous en informer afin de vous accompagner, vous orienter, et étudier les compensations nécessaires pour répondre au mieux à votre demande de formation. Certaines formations peuvent nécessiter une adaptation pour les personnes en fonction de leur handicap. Nous restons disponibles pour échanger ensemble et nous pourrons vous orienter vers un de nos partenaires : Agefiph, Cap Emploi

Votre inscription

De la recherche à la formation, en 5 étapes

1

Testez votre niveau

Un test de positionnement gratuit pour entrer au bon niveau. Faire le test →

3

Vérifiez votre financement

CPF, OPCO, France Travail : un conseiller vous rappelle sous 48 h et monte le dossier avec vous.

4

Validez votre inscription

C’est à vous : vous signez le devis ou la convention, ou vous validez votre dossier sur Mon Compte Formation.

5

Formez-vous

Convocation, formation, évaluation et certification.

Particulier · salarié · demandeur d’emploi

Financez votre formation avec votre CPF

  • 53 formations éligibles au CPF
  • Inscription sur Mon Compte Formation, nous vous guidons pas à pas
  • Participation forfaitaire de 150 €, sauf exonération (demandeur d’emploi, abondement employeur)

Entreprise · équipe · service RH

Formez votre équipe en intra-entreprise

  • Dans vos locaux, à Toulouse ou à distance, aux dates de votre choix
  • Programme adapté à vos outils et à vos cas réels (Java : Approfondissez vos compétences et développez des applications complexes)
  • Forfait groupe, financement OPCO, devis sous 48 h

Devis · inscription · financement

Une question sur « Java : Approfondissez vos compétences et développez des applications complexes » ?

Un conseiller vous répond sous 48 h ouvrées : dates, format, devis et financement (CPF, OPCO, France Travail).

En poursuivant votre navigation sur ce site, vous acceptez que nous utilisions des cookies pour mesurer l'audience de notre site.