Global Knowledge

JAVA avancé : Maîtriser les API avancées de la plate-forme Java

Par Global Knowledge

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écurrentes

Programme

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

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. : 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

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. : 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

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. : 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

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. : 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.

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. : 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.

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. : 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.

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. : 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

Pédagogie

Un support de cours en français sera remis aux stagiaires. Une pédagogie progressive et active est mise en oeuvre pour aborder et maîtriser les concepts avec plus de 60% de pratique. Une application de gestion sera développée au fur et à mesure des apports théoriques.

De nombreux exercices sont mis en œuvre afin d’utiliser tous les concepts avancés de la plate-forme Java Standard Edition, permettant la mise en œuvre d’applications d’entreprise. Un tour d’horizon complet, permettant de comprendre tous les mécanismes possibles dans la programmation Java (Communication entre JVM, entre plateformes hétérogènes, récupération de données dans des SGBD, dans les systèmes de fichier, en mode synchrone/asynchrone, gestion des erreurs...).

Formations de la même catégories (5)

M2i Formation
Sécurité applicative JavaPar M2i Formation
  • Connaître les mécanismes de sécurité du JDK
  • Comprendre les principales failles de sécurité applicative
  • Distinguer sécurité applicative et sécurité réseau
  • Mettre en oeuvre les principales stratégies de sécurité en Java
  • Utiliser Java Cryptography Extension (JCE)
  • Authentifier et autoriser l'accès aux composants Java EE.
Dawan
JSF + AJAXPar Dawan

Apprendre à utiliser JSF - Découvrir l'essentiel des possibilités de ce Framework - Construire des applications AJAX/JSF

SQLI Institut
Bachotage Java - Certified JAVA SE8 ProgrammerPar SQLI Institut
  • Comprendre comment se déroule une certification Java
  • Garantir le taux de réussite maximal à la certification Java, niveau 1 développeur (1Z0-808)
  • Faire usage de l'ouvrage de référence afin de passer sereinement l'examen
M2i Formation
Approche fonctionnelle avec Java 8Par M2i Formation
  • Analyser les situations de projets Java où la programmation fonctionnelle est globalement supérieure à la programmation objet
  • Comprendre les bases de la programmation fonctionnelle pour pouvoir l'appliquer dans vos projets
  • Savoir écrire des expressions lambda simples et complexes
  • Comprendre la notion d'interface fonctionnelle
  • Exploiter les streams.
M2i Formation
IoT - Développer des applications connectées avec JavaPar M2i Formation
  • Programmer efficacement en Java pour la technologie IoT.
Nous utilisons les cookies afin de fournir les services et fonctionnalités proposés sur notre site et afin d’améliorer l’expérience de nos utilisateurs. En cliquant sur ”J’ai compris”, vous acceptez l’utilisation de ces cookies.