TI282
Technologies de l'information

JAVA avancé : Maîtriser les API avancées de la plateforme Java

Maîtriser les API avancées Java : JVM, persistance, Spring, concurrence et programmation fonctionnelle


Des aspects pratiques essentiels sont présentés, tels que les API de communication, la persistance des données avec JPA, la programmation concurrente et l’internationalisation des applications. La maîtrise de cette plateforme est indispensable pour le développement en Java Enterprise Edition.

Objectif

Acquérir les compétences et connaissances nécessaires pour maîtriser les fonctionnalités avancées de la plateforme Java Standard Edition.

Est-ce pour vous ?

Développeurs, concepteurs et architectes techniques

Préalables

Solides bases en POO (héritage, polymorphisme, encapsulation). Bon niveau sur les collections et les génériques. Connaissance du multithreading de base. Lecture/écriture de fichiers et sérialisation d’objets. Familiarité avec les concepts d’architecture logicielle (MVC, couches, modularité). Notions d’utilisation d’un IDE (Eclipse, IntelliJ, VSCode).

Vos gains

  • Exploiter les mécanismes avancés de la JVM pour sécuriser et optimiser les applications Java
  • Concevoir une couche de persistance robuste avec Hibernate et JPA, du mapping aux requêtes
  • Développer des applications modulaires avec Spring (IoC, transactions, intégration MVC)
  • Mettre en œuvre la programmation concurrente et gérer efficacement les threads et synchronisations
  • Créer des applications dynamiques avec réflexion, expressions Lambda et communication JMS
  • Contenu

    Aspects de la JVM, Java Virtual Machine

    • Mécanismes liés à la JVM pour assurer la sécurité
    • Modèle de sécurité : permissions, politiques et domaines de sécurité
    • Gestionnaire de sécurité et contrôle d’accès
    • Les mécanismes de chargement de classes
    • Développement de chargeurs de classes spécifiques
    Voir plus +/-

    Evolutions de la syntaxe Java

    • Rappels des évolutions de Java 5 à Java 8
    • Structures de contrôles « switch » avec des objets String
    • Faciliter la lecture des valeurs littérales
    • Traitements des chaînes de caractères et expressions régulières
    • T.P.

    Rappels des Generics, collections et évolutions

    • Les nouvelles collections
    • Opérateur diamant et inférence de type
    • Suppression possible des avertissements lors de l'utilisation des varargs

    Gestion des erreurs

    • Rappels des assertions
    • Les tests avec Junit
    • Prise en compte de plusieurs exceptions dans la clause catch
    • Opérateur try-with-resources
    • T.P.

    La persistance avec Hibernate et JPA

    • Rappels de l’accès aux données, JDBC et DAO
    • Architecture logicielle d’Hibernate et de JPA
    • Architecture Technique d’Hibernate et de JPA
    • Mise en place de l'environnement
    • Les objets et les différents mappings
    • Les langages de requête Hibernate QL et JQPL
    • T.P.

    Introduction au framework Spring

    • Les différents modules de Spring
    • L’injection des dépendances (IoC)
    • Les pools de connexions et les transactions
    • Intégration avec Hibernate
    • Spring MVC Architecture générale : controleurs, Dispatchers et Handlers
    • T.P.

    La programmation concurrente

    • Mise en œuvre des Threads. Cycle de vie des Threads. Ordonnancement des Threads
    • La synchronisation des Threads. Le verrouillage des méthodes et des instructions (synchronized). Les moniteurs
    • Principes et problèmes de la conception d'applications multi threads
    • La librairie concurrente. Les nouvelles collections
    • Les nouveaux outils de synchronisation : les verrous partagés/exclusifs, les sémaphores, les barrières cycliques
    • L’utilisation du framework Fork/Join
    • La Classe Phaser
    • T.P.

    La programmation réflexive

    • Objectifs et principes
    • Le chargement de classes. L'objet Class
    • Découverte dynamique des informations (propriétés et méthodes) relatives à une classe ou à un objet
    • Instanciation dynamique
    • Invoquer une méthode
    • La réflexivité des annotations

    Présentation de la programmation fonctionnelle

    • Objectifs et principes
    • Expressions Lambda
    • Interfaces fonctionnelles
    • T.P.

    La communication par messages JMS (Java Message Service)

    • Présentation de l'Architecture MQ et JMS : Files Topics, Queues, Serveurs MQ
    • Communication Point-To-point avec les Queues
    • Communication Publish/Subscribe avec les Topics
    • T.P.

    💡 Informations utiles

    Nos formations sont offertes à Montréal ou Québec en présentiel ou en format virtuel. Les dates et lieux sont précisés lors de votre choix de session ci-dessous. Si vous avez des questions concernant l'inscription, les horaires, la langue d’enseignement ou les modalités d’annulation, consultez notre FAQ .

    Intervenants

    Durée
    5 jours
    Horaire
    9h à 16h
    Tarif régulier
    2 395 $
    Tarif préférentiel Un tarif préférentiel est accordé pour chacun des cours aux organismes publics, aux membres de certaines associations ainsi qu’aux entreprises ayant une entente avec Technologia (voir FAQ). Pour la liste complète des entités admissibles, consulter la section « Tarification » des FAQ. Notez également qu’aucun tarif préférentiel n’est accordé pour les formations en ligne. Les rabais accordés sur les formations ne peuvent être cumulables avec aucune autre promotion.
    2 155 $
    Formation en entreprise

    Vous avez plusieurs employés intéressés par une même formation? Que ce soit en présentiel dans vos bureaux ou à distance en mode virtuel, nous offrons des formations privées adaptées aux besoins de votre équipe. Des tarifs de groupes sont disponibles. Contactez-nous pour plus de détails ou demandez une soumission en ligne.

    Demander une soumission

    Demander une formation en entreprise

    Vous avez plusieurs employés intéressés par une même formation? Que ce soit en présentiel dans vos bureaux ou à distance en mode virtuel, nous offrons des formations privées adaptées aux besoins de votre équipe. Des tarifs de groupes sont disponibles. Contactez-nous pour plus de détails ou demandez une soumission en ligne.

    Dites-nous en plus
    Ajout effectué Voir mon panier