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

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

Objectifs pédagogiques

  • Connaître les aspects avancés du Java
  • Maîtriser le multi-threading et la programmation concurrente
  • Gérer l'asynchronisme
  • Créer vos propres annotations
  • Utiliser Java Reflection API
  • Exploiter les Web Services et les Web Sockets
  • Connaître JMS et JMX
  • Utiliser les lambda expressions et les streams.

Niveau requis

Avoir une connaissance pratique du langage Java ou avoir suivi le cours JAV-SE "Java - Les fondamentaux et le développement Java SE".

Public concerné

Développeurs, architectes et chefs de projets techniques.

Programme

Jour 1

Quelques aspects évolués de Java

  • Classes anonymes
  • Nouvelles boucles for
  • Les annotations intéressantes
  • Les varargs
  • Les tableaux
  • Le try-with-resource
  • NIO 2 et Non-blocking I/O
Exemple de travaux pratiques (à titre indicatif)
  • Mise en oeuvre des divers apports de Java avec try-with-resource, NIO, boucles for

Threading et concurrence

  • Thread et Runnable
  • Problèmes du multi-threading
  • Attente et synchronisation
  • Thread pools et environnements "thread safe"
  • Package java.util.concurrent
  • Le Framework Executor
  • Asynchronisme en Java
  • Future et Callable
  • Le Fork and Join
Exemples de travaux pratiques (à titre indicatif)
  • Création d'un projet mettant en oeuvre le multi-threading
  • La synchronisation entre threads
  • La protection de données entre threads
  • La programmation concurrente
  • Le Fork and Join

Jour 2

Echange de données avec les Web Services en Java

  • Clients et serveurs
    • SOAP avec JAX-WS et CXF
    • REST avec JAX-RS et Jersey
Exemples de travaux pratiques (à titre indicatif)
  • Reprise du projet
  • Ajout de Web Services REST entre composants serveur et client

Echange de données avec les Web Sockets en Java

  • Mise en oeuvre de Web Sockets en Java
    • Côté serveur
    • Côté client
Exemples de travaux pratiques (à titre indicatif)
  • Reprise du projet
  • Ajout de Web Sockets entre composants
  • Affichage de messages non sollicités par le client

Echange de données avec RMI

  • Echange de données entre composants Java
Exemples de travaux pratiques (à titre indicatif)
  • Reprise du projet
  • Ajout d'échange de composants Java via RMI

Jour 3

Programmation fonctionnelle en Java

  • La programmation fonctionnelle
  • Les implications de la programmation fonctionnelle
  • Avantages et inconvénients de la programmation fonctionnelle

Les lambda en Java

  • S'approcher de lambda sans Java 8
  • Les expressions lambda
  • Les interfaces fonctionnelles
  • Liste des interfaces fonctionnelles
  • Paramètres d'une expression lambda
  • Cas d'utilisation des expressions lambda
  • Les références de méthodes dans les expressions lambda
Exemples de travaux pratiques (à titre indicatif)
  • Création d'un nouveau projet
  • Utilisation des interfaces fonctionnelles fournies et créées
  • Utilisation des expressions lambda sous différentes formes
  • Simplification de la programmation avec les lambda

Jour 4

Les streams

  • Présentation générale des streams
  • Créer des streams
  • Opérations intermédiaires sur les streams
  • Opérations terminales
Exemples de travaux pratiques (à titre indicatif)
  • Création d'un nouveau projet
  • Application de la gestion des streams à des flux de données fournis
  • Opérations de création, intermédiaires et finales

Annotations et "reflection"

  • Annotations prédéfinies
  • Le processeur d'annotations
  • Définition d'interface (@Interface)
  • Traitement à la compilation ou à l'exécution (@Retention)
  • Cible des annotations (@Target)
  • Cas d'utilisation des annotations
  • L'API Reflection
  • Chargement et appel dynamique
Exemples de travaux pratiques (à titre indicatif)
  • Création d'un nouveau projet
  • Création d'une nouvelle annotation et exploitation de celle-ci au runtime

JMS (Java Message Service)

  • La communication asynchrone par messages
  • Les interfaces et les classes de JMS
  • Les providers de message
  • La communication par Queue et par Topic

JMX (Java Management Extensions)

  • Avantages d'administration des composants
  • Les concepts de JMX
    • MBean
    • MBeanServer
    • Agent
    • Connector
  • La console d'administration
Exemples de travaux pratiques (à titre indicatif)
  • Création d'un projet JMS permettant l'échange de données entre composants, avec Queue et Topic
  • Démonstrations pratiques de l'administration de composants avec JMX

JNI (Java Native Interface) et JNA (Java Native Access)

  • Appel natifs depuis Java

Le scripting en Java

  • Exécution d'un script depuis Java
Exemples de travaux pratiques (à titre indicatif)
  • Appel d'un point d'entrée de DLL depuis Java avec JNA
  • Exécution de plusieurs scripts Javascript depuis Java

Certification (en option)

  • Nos tests de validation des compétences font partie intégrante du processus d'apprentissage car ils permettent de développer différents niveaux d'abstractions.
  • Solliciter l'apprenant à l'aide de nos QCM, c'est lui permettre d'étayer sa réflexion en mobilisant sa mémoire pour choisir la bonne réponse. Nous sommes bien dans une technique d'ancrage mémoriel.
  • L'examen sera passé à la fin de la formation.

Les + de la formation

L'examen de certification (proposé en option) est en français.

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

Calendrier des sessions

Je réserve avec mon CPF

Vous pouvez suivre cette formation depuis votre domicile comme si vous étiez en présentiel et avec la même qualité pédagogique. Quand souhaitez-vous commencez ?

14/09/2020 Classe à distance 2 200 € HT Je m'inscris

Modalité Classe à distance

Certification M2i Langages de Programmation (+ 120€)

Financements CPF

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

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

Contactez-nous