Accueil / 1B JAVA – Java avancé (exclusif FAFIEC) – 28128

1B JAVA – Java avancé (exclusif FAFIEC) – 28128

Objectifs

  • Maitriser les concepts et fonctionnalités avancés de Java SE
  • Approfondir certains aspects du langage et de ses évolutions (de Java SE 5 à Java SE 8)
  • Développer des applications dans des environnements multi threads, concurrents
  • Mettre en œuvre différentes communications d’objets
  • Maîtriser les API de communication synchrones et asynchrones. Manipuler la persistance des données avec JPA
  • Internationaliser ses applications
  • Bénéficier de retours d’expérience sur des problématiques récurrente

Prérequis

  • Connaissances en conception objet

Public

  • Développeurs
  • Chefs de projets
  • Concepteurs

Moyens pédagogiques

  • La flipped classroom (classe inversée) : le concept ou la méthodologie sont présentés aux stagiaires dès le début de chaque thématique, puis suivis d’une mise en pratique immédiate. Avantages : cette pédagogie par itérations favorise l’acquisition de connaissances, l a mise en confiance des apprenants et permet un gain de temps, au profit d’une meilleure prise en charge des questions/obstacles rencontrés par les participants
  • La résolution collaborative de challenge : des travaux pratiques jalonnent nos formations. Les cas d’usage sont tous inspirés de situations professionnelles réelles vécues par le formateur ou inspirées du quotidien « métier » des participants, notamment lorsqu’il s’agit de formations en intra-entreprise. L’animateur formateur est là comme facilitateur et agitateur d’idées et de réflexes
  • L’évaluation des acquis se fait à travers des Quiz en questions ouvertes et/ou fermées et par la remise d’un rapport restituant les méthodes appliquées et les résultats obtenus pendant la résolution collective de challenges

Programme

  1. 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
  2. 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
    • Travaux Pratiques : Mise en œuvre d’exécutables afin de tester les nouveautés : des chaînes de caractères et des expressions régulières, des structures de contrôles, des boucles
  3. 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
  4. 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
  5. La programmation concurrente :

    • Mise en œuvre des Threads
    • Cycle de vie des Threads
    • Eager loading et lazy loading
    • 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
    • Travaux Pratiques : Création d’une application mutli-threads pour faire communiquer un client et un serveur. Mise en œuvre du framework Fork/Join, manipulation de la classe Phaser, gestion de la parallélisation
  6. 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
    • Travaux Pratiques : Prise en compte dans la gestion des exceptions de plusieurs types d’erreur, manipulation des génériques et de l’auto boxing, récupération des ressources, en cas d’anomalie
  7. 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
    • Travaux Pratiques : A partir d’une base de données relationnelle existante, générer un projet de persistance. Manipuler les Entités créées automatiquement. Tester les transactions, rechercher une entité par sa clé primaire. Modifier une entité, créer un objet entité pour contrôler la persistance en base. Se familiariser avec l’objet Query, effectuer des sélections et manipuler une Collection d’Entités.Comprendre les relations entre entités
  8. 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
    • Travaux Pratiques : Manipuler l’injection de dépendances dans la mise en œuvre des tests applicatifs. Intégration de l’application Hibernate, dans Spring. Comprendre l’architecture MVC de Spring
  9. Présentation de la programmation fonctionnelle :

    • Objectifs et principes
    • Expressions Lambda
    • Interfaces fonctionnelles
    • Travaux Pratiques : Réécriture d’une application manipulant une liste de Java beans Personne et effectuant des recherches sur les personnes afin de comprendre l’intérêt de la programmation fonctionnelle et les Lambda expressions
  10. 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
    • Travaux Pratiques : Maintenance d’une application utilisant les 2 modes de communication de JMS, afin de s’envoyer des messages asynchrones et de déclencher des traitements Java

Nombre de jours

5

Dates

Paris

Marseille / Aix / Nice

Nantes

Bordeaux

Orléans

Du 17 au 21 décembre 2018

Dijons

Du 17 au 21 décembre 2018

Tarif inter

Tarif non renseigné

Tarif sur mesure

Réf.

10AC5

Demande de renseignement

FORMATIONS ASSOCIÉES