Java - Développement avancé et nouveautés JDK 8



Objectifs, programme, validation de la formation

Objectifs

Maîtriser le multi-threading
Gérer l’asynchronisme
Créer vos propres annotations
Utiliser Java Reflection API
Interagir avec du code natif
Intégrer le scripting dans vos applications
Connaître et appliquer les nouveautés de JDK 8, et notamment les expressions lambda.

Description, programmation

Nouveautés des JDK 7 et 8

Diamond Operator
Lambda expressions et streams
Le try-with-resource et l’interface AutoCloseable
NIO 2 et Non Blocking IO

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

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
Dynamic Proxy
Aller plus loin avec l’AOP

Appels natifs

JNI vs JNA
Appel natif depuis Java
Déclaration des signatures et utilisation de JNA
Passage de paramètres
Chargement des librairies natives
Intégration Java dans un process natif

Scripting

Cas d’utilisation
BeanShell, JavaScript et autres langages compatibles
Intégration des interpréteurs et ScriptEngineManager
Java Scripting API
Exécution d’un script
Accès aux fonctions et méthodes
Contraintes sur les variables et paramètres

Programmation fonctionnelle en JDK 8

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

Les lambda en Java 8

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éthode dans les expressions lambda

Méthodes par défaut

Interfaces Java et méthodes par défaut
Cas d’utilisation des méthodes par défaut
Nouvelles méthodes dans les collections Java

Les Streams

Présentation générale des Streams
Créer des Steams
Opérations sur les Streams

L’API DateTime

Classes importantes de DateTime
Utilisation de DateTime

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.

Niveau de sortie information non communiquée

Métiers visés

M1805 :


Durée, rythme, financement

Durée 28 heures en centre

Modalités de l'alternance -

Conventionnement Non

Conditions d'accès

Modalités de recrutement et d'admission Avoir une connaissance pratique du langage Java ou avoir suivi le cours JAV-SE "Java - Les fondamentaux et le développement Java SE".

Niveau d'entrée sans niveau spécifique

Conditions spécifiques et prérequis Aucune

Inscription

Contact renseignement Agnès RICHIR

Téléphone 0557190765


Éligibilité de cette formation au compte personnel de formation pour les salariés


Code CPF 237067 - Validité du 02/01/2019 au 31/12/2115


Périodes prévisibles de déroulement des sessions

Session débutant le : 14/09/2020

Adresse d'inscription
15 Bis Allée James Watt 33700 Mérignac

Lieu de formation


Organisme de formation responsable