Formation Certification Java 8 niveau 2 – Certified Professional, Java SE 8 Programmer
3 JoursDescription de la formation Certification Java SE 8
La certification Oracle Certified Professional, Java SE 8 Programmer (1Z0-809) certifie que son titulaire maîtrise parfaitement la syntaxe de Java 8 et les concepts objets qui lui sont rattachés.
L’examen de certification, comportant 85 questions et d’une durée de deux heures trente minutes, est réputé difficile et nécessite une bonne préparation sur tous les thèmes abordés, même pour un développeur Java confirmé.
Concrètement l’objectif est de mettre le candidat dans les meilleures dispositions possibles en vue de l’examen de certification Java. Il s’agit d’un cours intensif où le bachotage est parfois de rigueur pour éviter, entre autres, les pièges classiques sur certaines questions.
Objectifs
Au-delà de la certification Java, cette formation permet également de compléter les connaissances en Java du candidat et met l’accent sur des points délicats du langage. Le participant pourra ainsi véritablement valider sa maîtrise du langage Java.
À qui s’adresse cette formation ?
Public :
Cette formation Certification Java s’adresse à des développeurs d’applications, responsables informatiques, architectes, chefs de projets, ingénieurs, etc.
Prérequis :
Une bonne maîtrise du langage Java est impérative avant la préparation, compte-tenu de la difficulté de l’épreuve. Une évaluation par QCM est demandée à tout participant avant son inscription.
Contenu du cours Certification Java SE 8
Présentation de la certification Java SE 8 Programmer d’Oracle
Présentation des différentes certifications Java d’Oracle
Déroulement du processus d’inscription
Déroulement de l’épreuve
Recommandations pour le passage de l’examen
Stratégies gagnantes
Contenu détaillé de la certification OCP (1ZO-809)
Conception de classes Java
Architecture d’une classe : attributs, constructeurs, méthodes
Mettre en œuvre l’encapsulation : spécificateurs d’accès
Redéfinir les méthodes hashCode, equals, et toString de la classe Object
Créer et utiliser les classes Singleton et les classes non modifiables
Développer du code qui utilise le mot-clé static sur: les blocs d’instructions, les variables, les méthodes, les classes
Ateliers
Passage d’un QCM-bilan
Nouveautés dans les interfaces Java 8+
Méthodes par défaut et méthodes static
Méthodes privées
Ateliers
Passage d’un QCM-bilan
Conception avancée de classes
Utiliser les classes et les méthodes abstraites
Développer du code qui utilise le mot-clé final
Créer des classes emboîtées static, les classes locales, classes internes et anonymes
Utiliser les types énumérés, y compris ceux comportant des méthodes et des constructeurs
Ateliers
Passage d’un QCM-bilan
Héritage
Mettre en œuvre l’héritage de classes
Mettre en œuvre l’implémentation d’interfaces, cas particuliers
Principe du downcast, rôle de l’opérateur instanceof
Mettre en œuvre le polymorphisme
Utiliser l’annotation @Override
Ateliers
Passage d’un QCM-bilan
Collections et généricité
Créer et utiliser une classe générique
Créer et utiliser une méthode générique
Utilisation du caractère ? dans un paramètre générique
Présentation des interfaces List, Set, Queue, Map
Savoir choisir un type de collection
Créer et utiliser les objets ArrayList, TreeSet, TreeMap et ArrayDeque
Parcours de collections avec itérateur ou boucle for-each
Rôle des méthodes equals et hashCode
Méthodes de la classe Collections
Ateliers
Passage d’un QCM-bilan
Les expressions lambdas, les références de méthodes
Comprendre les principes de la programmation fonctionnelle
Syntaxe des classes internes anonymes
Notion d’interface fonctionnelle
Anatomie d’une Expression Lambda
Simplifier les expressions lambdas avec les références de méthodes
Mise en œuvre des interfaces fonctionnelles prédéfinies : Consumer, Supplier, Predicate, Function, UnaryOperator
Variantes spécialisées pour types primitifs des interfaces fonctionnelles prédéfinies
Ateliers
Passage d’un QCM-bilan
L’API java Stream
Méthodes intermédiaires et terminales
Exploiter les méthodes peek et map, y compris les versions primitives de map ainsi que flatMap
Rechercher des données au moyen de méthodes des classes de l’API Stream comme findFirst, findAny, anyMatch, allMatch, noneMatch
Utiliser les méthodes de la classe Optional
Trier une collection au moyen de l’API Stream
Utiliser les méthodes reduce et collect pour effectuer des réductions
Principe de l’évaluation paresseuse
Utiliser les streams parallèles pour améliorer les performances
Ateliers
Passage d’un QCM-bilan
Exceptions et Assertions
Différencier exceptions contrôlées et non contrôlées
Utiliser les instructions try, catch, finally et throw
Mettre en oeuvre l’instruction try-with-resources sur des ressources Auto-closeable
Propager les exceptions
Créer des exceptions personnalisées
Mise en œuvre de contrôles au moyen d’assertions
Ateliers
Passage d’un QCM-bilan
Utiliser l’API java SE 8 : Date/temps
Utiliser les méthodes des classes LocalDate, LocalTime, LocaDateTime, Instant, Period, Duration
Formater les dates et le temps
Gérer les zones géographiques
Calculer les durées avec les classes Period et Duration
Compatibilité des nouvelles classes avec les classes java.util.Date et java.util.Calendar
Ateliers
Passage d’un QCM-bilan
Entrées/sorties de base
Savoir choisir entre les hiérarchies InputStream/OuputStream et Reader/Writer
Lire des données au clavier et écrire sur la console
Utiliser les classes du package java.io, notamment BufferedReader, BufferedWriter, File, FileReader, FileWriter, FileInputStream, FileOutputStream, PrintWriter
Mettre en œuvre la sérialisation d’objet avec ObjectOutputStream, ObjectInputStream
Ateliers
Passage d’un QCM-bilan
Entrées/sorties sur fichiers (NIO.2)
Utilisation de l’interface Path pour manipuler les chemins de répertoires ou de fichiers
Manipulation de fichiers/répertoires avec la classe Files
Gérer les attributs d’un fichier ou répertoire et autres méta-données
Utiliser l’API Stream
Ateliers
Passage d’un QCM-bilan
Les accès concurrents en multi-threading
Créer des threads avec Runnable, Callable
Utiliser un ExecutorService pour exécuter les tâches
Identifer les problèmes potentiels du multi-threading parmi les deadlocks, starvation, livelock, race conditions
Utiliser le mot-clé synchronized, les verrous Lock
Utiliser les classes Atomic
Utiliser les collections java.util.concurrent et les classes CyclicBarrier et CopyOnWriteArrayList
Utiliser le framework Fork/Join
Ateliers
Passage d’un QCM-bilan
Accès aux bases de données avec JDBC
Rôle d’un driver JDBC
Utiliser la classe DriverManager pour se connecter à une base de données
Mettre en oeuvre les interfaces Connection, Statement, PreparedStatement et ResultSet
Emettre des requêtes SQL et lire les résultats de la base de données : parcours des résultats, fermeture des résultats, des états et des connexions
Gestion des exceptions SQLException
Ateliers
Passage d’un QCM-bilan
Internationalisation
Lire et configurer la langue/le pays avec un objet Locale
Créer et lire un fichier Properties
Créer un fichier Properties par langue et le charger dans l’application via un resource bundle
Formatage des nombres et des dates
Ateliers
Passage d’un QCM-bilan
Travaux Pratiques
Les travaux pratiques consistent essentiellement à passer des tests blancs en anglais, les tests sont ensuite corrigés afin de mesurer la progression de chacun et d’insister encore sur les points ou des erreurs ont été commises.