fff

Combien de stagiaires suivront cette formation ?


Valider Annuler

Partager
Accueil    Formations    Informatique    Langages et développement    Développeur Java    Java - Programmation avancée

Partager cette formation Télécharger au format pdf Ajouter à mes favoris

Public concerné

Développeurs, architectes et chefs de projets techniques.

Prérequis

Avoir une connaissance pratique du langage Java ou avoir suivi le cours JAV-SE "Java - Les fondamentaux de la programmation".

Validez les prérequis

Afin de vérifier que vous disposez bien des prérequis nécessaires à cette formation, nous vous invitons à réaliser ce test.

Temps estimé : 4 minutes.

Passer le test

Objectifs de formation

A l'issue de cette formation, vous serez capable de :

  • Distinguer les aspects avancés du langage Java
  • Appliquer les principaux frameworks et librairies Java
  • Reconnaître le modèle de sécurité et le chargement des classes Java
  • Réaliser des traitements parallèles
  • Gérer les accès concurrentiels (avec les sémaphores)
  • Mettre en place du code Java implémentant la notion de "promesse"
  • Tester, debugger et optimiser vos applications
  • Identifier les nouveautés Java.

Programme de votre formation

  1. #

    M2i START AVANT VOTRE FORMATION

    Contextualisation du projet de formation et prise en compte des besoins de chacun

    • Positionnement initial de l’apprenant par rapport aux objectifs
    • Définition des priorités et des objectifs personnels de l’apprenant
    • Vidéos de mise en situation
    • Accès au Chat interactif myM2i pour interagir avec les membres de son groupe
    m2i_start_logo
  2. #

    M2i LIVE VOTRE FORMATION ANIMÉE PAR NOTRE EXPERT ¹

    Programme

    Jour 1 - Matin

    Aspects avancés de Java

    • La programmation concurrente
    • Les concepts de la programmation multi-thread :
      • Le modèle d'activités de Java (Runnable et Thread)
    • La création / destruction des threads
    • Ordonnancement des threads
    • La synchronisation des threads
    • Le verrouillage des méthodes et des instructions (synchronized)
    • Les moniteurs
    • Quelques problèmes du multi-thread
      • L'interblocage (caractérisation, évitement, prévention, détection), la famine
    • Les extensions du modèle introduites dans Java 5 (Callable, Future, ExecutorService), les nouvelles collections
    Exemple de travaux pratiques (à titre indicatif)
    • Construction d'une application multi-thread avec contraintes de concurrence

    Jour 1 - Après-midi

    Aspects avancés : la programmation réflexive

    • Le modèle Fork/Join
    • Les extensions avec CompletableFuture
    • Les divers outils de gestion de la concurrence :
      • Les verrous partagés / exclusifs
      • Les sémaphores
      • Les barrières cycliques
    • Les objectifs et les principes
    • La découverte dynamique des informations relatives à une classe ou à un objet
    • L'instanciation et l'invocation dynamique
    Exemples de travaux pratiques (à titre indicatif)
    • Mise en pratique sur :
      • La programmation parallèle
      • Le CompletableFuture
      • Les sémaphores

    Jour 2 - Matin

    Implémentation d'un ClassLoader chargeant des classes

    • Rôle du compilateur Java
    • Rôle des ClassLoaders
    • Les différentes zones mémoires de la JVM (Java Virtual Machine) et leur gestion par le GC (Garbage Collector)
    • Hiérarchie des différents ClassLoaders
    • Vérification du Bytecode
    • Chargement dynamique de classe
    • Implémenter un ClassLoader
    • Manipulation des énumérations
    Exemples de travaux pratiques (à titre indicatif)
    • Quelques exemples de chargement de classes et traitements des annotations personnalisées

    Jour 2 - Après-midi

    Les nouveautés du switch et Record

    • Switch expressions
    • Pattern Matching instanceof
    • Record (classe de données simplifiée pour DTO)
    Exemple de travaux pratiques (à titre indicatif)
    • Mise en oeuvre des instructions Switch

    Jour 3 - Matin

    La console JShell Java

    • Principe REPL (Read-Eval-Print Loop)
    • Présentation de JShell Java
    • Fonctionnement interne de JShell
    • Utilisation de JShell (exemples)

    Process API, HTTP2 API

    • L'interface ProcessHandle
    • Gestion des processus depuis Java 9
    • Présentation de HTTP2 Client
    Exemples de travaux pratiques (à titre indicatif)
    • Programmation d'un cas d'école avec la console JShell
    • Mise en pratique d'un client HttpClient avec Java 9

    Jour 3 - Après-midi

    Tester ses applications en Java

    • Test Driven Development - Découvrir les grands principes du TDD
    • Cycle de développement du TDD
    • Les 3A : Arrange, Act, Assert
    • Remaniement de code : techniques de refactoring en TDD
    • Conception émergeante
    • Gestion des exceptions
    • Gestion des scénarios
    • JUnit - Savoir utiliser le framework JUnit pour implémenter des tests
    • Tests unitaires
    Exemple de travaux pratiques (à titre indicatif)
    • Utilisation de JUnit

    Jour 4 - Matin

    D'autres nouveautés Java

    • Lambda fonctions
    • Streams et Streams parallèles
    • La gestion des modules
    Exemple de travaux pratiques (à titre indicatif)
    • Développement d'une application utilisant les Lambdas, Streams et modules

    Jour 4 - Après-midi

    Le processus d'optimisation

    • Analyser
    • Coder
    • Mesurer pour vérifier
    • Les outils
    • Profiling
    • JVisualVM
    • Eclipse MAT
    • SoapUI
    • JMeter
    Exemple de travaux pratiques (à titre indicatif)
    • Utilisation d'outils de profiling

    Gestion mémoire et optimisation

    • L'organisation de la mémoire
    • Le ramasse-miettes
    • Le cycle de vie des objets
    • Configurer la mémoire et le GC
    • Mesure de la mémoire
    • Off Heap
    • La gestion de la mémoire et les performances
    • Les options de la JVM HotSpot pour le suivi de l'activité du GC
    • Fuite de mémoire
    • Fuite de ressources
    • Optimiser l'utilisation de la mémoire
    • Optimiser l'occupation mémoire
    Exemple de travaux pratiques (à titre indicatif)
    • Utilisation des outils d'optimisation mémoire

    Le contenu de ce programme peut faire l'objet d'adaptation selon les niveaux, prérequis et besoins des apprenants.

    m2i_live_logo
  3. #

    M2i BOOST APRÈS VOTRE FORMATION

    Réactivation et consolidation des acquis en situation de travail

    • 30 jours d’accompagnement personnalisé sur myM2i inclus ²
    • Ressources Boosters (Abonnement au M2i’Mag Soft Skills, formations offertes, invitations aux conférences d’actualité…)
    m2i_boost_logo
  1. ¹ Les actions et les outils présentés dans ce programme le sont à titre indicatif et peuvent faire l’objet d'adaptation selon les niveaux, prérequis et besoins des apprenants. Les compétences clés de ce programme sont traitées à raison d'une compétence par demi-journée de formation.
  2. ² Sur myM2i, pendant 30 jours post-fin de formation, les apprenants disposent d’une messagerie sécurisée pour échanger, dans la limite de 4 sollicitations, avec leur formateur.

Modalités, méthodes et moyens pédagogiques

Formation délivrée en présentiel ou distanciel* (blended-learning, e-learning, classe virtuelle, présentiel à distance).

Le formateur alterne entre méthode** démonstrative, interrogative et active (via des travaux pratiques et/ou des mises en situation).

Variables suivant les formations, les moyens pédagogiques mis en oeuvre sont :

  • Ordinateurs Mac ou PC (sauf pour certains cours de l'offre Management), connexion internet fibre, tableau blanc ou paperboard, vidéoprojecteur ou écran tactile interactif (pour le distanciel)
  • Environnements de formation installés sur les postes de travail ou en ligne
  • Supports de cours et exercices

En cas de formation intra sur site externe à M2i, le client s'assure et s'engage également à avoir toutes les ressources matérielles pédagogiques nécessaires (équipements informatiques...) au bon déroulement de l'action de formation visée conformément aux prérequis indiqués dans le programme de formation communiqué.

* nous consulter pour la faisabilité en distanciel

** ratio variable selon le cours suivi

Modalités d’évaluation des acquis

  • En cours de formation, par des études de cas ou des travaux pratiques
  • Et, en fin de formation, par un questionnaire d'auto-évaluation

Accessibilité de la formation

Le groupe M2i s'engage pour faciliter l'accessibilité de ses formations. Toutes nos formations sont accessibles aux personnes en situation de handicap : les détails de l'accueil des personnes sont consultables sur la page Accueil PSH.

Modalités et délais d’accès à la formation

Les formations M2i sont disponibles selon les modalités proposées sur la page programme. Les inscriptions sont possibles jusqu'à 48 heures ouvrées avant le début de la formation. Dans le cas d'une formation financée par le CPF, ce délai est porté à 11 jours ouvrés.

Partager cette formation Télécharger au format pdf Ajouter à mes favoris

Vous souhaitez suivre cette formation ?

Cette formation est disponible en présentiel ou en classe à distance, avec un programme et une qualité pédagogique identiques.

Tarif : à partir de 2 440 € HT.

Choisissez la modalité souhaitée pour vous inscrire :

Formation disponible en intra-entreprise

Votre société a besoin d'une offre personnalisée ? Contactez-nous

string(21) ""
string(21) ""

Découvrez les autres formations susceptibles de vous intéresser :

Faites-nous part de votre projet de formation, nous sommes là pour vous guider.