Formation Java SE 8 niveau avancé - Rouen

Je me propose | Cours d'informatique

Description

Description:
Très largement employé par la communauté de développeur, le langage Java est apprécié pour sa portabilité, sa richesse et sa simplicité de mise en œuvre. Ses atouts en font un langage de programmation incontournable que l’on peut retrouver aussi bien les applications web, mobiles ou encore clients lourds.
L’objectif de cette formation est de faire monter en compétence tout ingénieur souhaitant atteindre le niveau professionnel en développement Java 8.
Au terme de ces quatre jours, les participants seront aptes à concevoir des applications multithreads robustes, performantes et de qualités.

Objectifs:
 Appréhender les concepts avancés de la Programmation Orientée Objet (design pattern)
 Savoir créer un programme générique et réutilisable
 Savoir manipuler les bonnes collections
 Savoir réaliser un programme multithread en Java 8
 Savoir manipuler les flux d’entrée / sortie
 Savoir manipuler les nouvelles fonctionnalités du Java 8 : Lambda, fonction built-in
 Premiers en programmation sur base de données avec JDBC
 Aborder tous les sujets présents dans l’examen Oracle Certified Programmer niveau 2 (OCP).

Durée de la formation:
Programme sur 4 jours (28 heures).

Public visé:
Ingénieur en développement logiciel.

Prérequis:
 Avoir des connaissances des programmation orientée objet (POO).
 Idéalement, avoir une expérience de base en langage Java ou C++.
 De préférence, avoir son ordinateur portable avec VirtualBox d’installé

Programme:
1) Design avancé d’une classe Java
- Rappels sur bases de l’orienté objet (l’héritage, les interfaces, le polymorphisme)
- Comprendre les méthode hasCode, equals et toString de la classe Object
- Manipulation des inner classes (static, locale, nested et anonyme)
- Introduction aux design pattern (singleton, observable/observer, factory, adapter)

2) Les expressions lambda et les fonctions built-in
- Savoir écrire une expression lambda
- Manipulation des principales fonction built-in du package java.utils.function (Predicate, Consumer, Function et Supplier)

3) Les Generis et les Collections
- Créer une classe générique
- Comprendre, choisir et mettre en œuvre les principales collections (ArrayList, ArrayDeque, TreeSet, TreeMap, Vector, table de hachage)
- Savoir itérer et filtrer les collections en utilisant les expressions lambda
- Comprendre les interfaces Comparator, Comparable, Stream et StreamPipeline
- Manipulation sur les collections (trie, modification, extraction, recherche…)
- Manipulation des collections via les Stream dédié

4) Les thread et gestion de la concurrence
- Créer un thread en utilisant l’interface Runnable, Callable et utiliser un ExecutorService pour les tâches concurrentes
- Identifier les problèmes liés au multi-threading (Deadlock, starvation, livelock et race condition)
- Contrôler l’exécution des theads via l’API du package java.util.concurent
- Manipulation des collections dédiées au multi-threading (CopyOnWriteArrayList, ConcurentHashMap …)
- Utilisation du Framework Fork/Join et des streams parallèles (algorithme de réduction, de merging ou décomposition)

5) Les entrées / sorties
- Lecture / écriture des données à la console
- Mise en œuvre des principales classes du package java.io (BufferedReader, BufferedWriter, File, FileReader, FileWriter, FileInputStream, FileOutputStream, ObjectOutputStream, ObjectInputStream, and PrintWriter)
- Interaction avec les fichiers et répertoires avec NIO.2
- Utilisation de l’API Stream avec NIO.2


6) Introduction aux application base de données avec JDBC
- Description des interfaces utiles de l’API JDBC (Driver, Connection, Statement, Resultset)
- Gérer correctement les accès à la base de données (URL de connexion, optimisations des accès, fermeture)
- Soumettre des requêtes et lire les résultats issus de la base de données

Note : ce programme peut être customisable sur demande.

Déroulement de la formation:
Cette formation est composée de 50% de théorie et de 50% de pratique. Le support de cours sera fourni au format papier et PDF. Un dossier zip contenant les codes sources sera également fourni.
Sur demande, des machines virtuelles sous (VirtualBox) seront fournies avec tout l’environnement nécessaire au bon déroulement de la formation.
Evaluation des acquis de la formation
Avant de commencer la formation, le niveau général des participants sera évalué par le formateur.
A la fin de chaque de chaque topic, les stagiaires devront démontrer leur maîtrise via des QCM et exercices pratiques avant de passer au topic suivant.
La fin de la formation sera marquée par une étude de cas concrète encadrée par le formateur.

A propos du formateur:
Ingénieur en développement logiciel en activité depuis plusieurs années, Gratien a pu exercer dans des domaines riches et variés comme l’aéronautique, la défense ou encore la cybersécurité. Ayant évolué au sein de grands groupes (Safran, Airbus, Thales, Schneider Electric), Gratien à une réelle connaissance des problématiques rencontrées par les entreprises.
En plus d’être certifié niveau professionnel et expert par Oracle en Java 7/8, niveau professionnel par Microsoft en C#, et niveau professionnel par CppInstitute en C++, Gratien procède une forte expertise dans le domaine du génie logiciel qui ne manquera pas de transmettre avec pédagogie.

Coût
A définir

Localisation (Rouen (76000))

Rouen (76000)

Disponibilités

Informations complémentaires :

Flexible

Avis pour cette annonce (0)

Soyez le premier à déposer un avis sur cette annonce.