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.

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

Calendrier des sessions

14/09/2020 Paris La Défense 2 200 € HT Je m'inscris

Je réserve avec mon CPF

Modalité Présentiel

Certification M2i Langages de Programmation (+ 120€)

Financements CPF

14/09/2020 Nancy 2 200 € HT Je m'inscris

14/09/2020 Strasbourg 2 200 € HT Je m'inscris

14/09/2020 Reims 2 200 € HT Je m'inscris

14/09/2020 Metz 2 200 € HT Je m'inscris

14/09/2020 Mulhouse 2 200 € HT Je m'inscris

Je réserve avec mon CPF

Modalité Présentiel

Certification M2i Langages de Programmation (+ 120€)

Financements CPF

14/09/2020 Lille 2 200 € HT Je m'inscris

14/09/2020 Rouen 2 200 € HT Je m'inscris

14/09/2020 Nantes 2 200 € HT Je m'inscris

14/09/2020 Caen 2 200 € HT Je m'inscris

14/09/2020 Évreux 2 200 € HT Je m'inscris

14/09/2020 Le Havre 2 200 € HT Je m'inscris

Voir plus de sessions

Je réserve avec mon CPF

Modalité Présentiel

Certification M2i Langages de Programmation (+ 120€)

Financements CPF

14/09/2020 Lyon Part-Dieu 2 200 € HT Je m'inscris

14/09/2020 Grenoble 2 200 € HT Je m'inscris

Je réserve avec mon CPF

Modalité Présentiel

Certification M2i Langages de Programmation (+ 120€)

Financements CPF

14/09/2020 Tours 2 200 € HT Je m'inscris

14/09/2020 Orléans 2 200 € HT Je m'inscris

14/09/2020 Bordeaux 2 200 € HT Je m'inscris

14/09/2020 Blois 2 200 € HT Je m'inscris

14/09/2020 Bourges 2 200 € HT Je m'inscris

14/09/2020 Châteauroux 2 200 € HT Je m'inscris

14/09/2020 Le Mans 2 200 € HT Je m'inscris

14/09/2020 Niort 2 200 € HT Je m'inscris

14/09/2020 Poitiers 2 200 € HT Je m'inscris

Voir plus de sessions

Je réserve avec mon CPF

Modalité Présentiel

Certification M2i Langages de Programmation (+ 120€)

Financements CPF

14/09/2020 Aix-en-Provence 2 200 € HT Je m'inscris

14/09/2020 Montpellier 2 200 € HT Je m'inscris

14/09/2020 Sophia Antipolis 2 200 € HT Je m'inscris

Je réserve avec mon CPF

Modalité Présentiel

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