Aller au contenu principal
  • Certifiant
  • Cours pratique
  • Informatique
  • Oracle

Formation Certification Java 11 Certified Professional Java SE 11 Developer

Passer avec succès l'examen Oracle 1Z0-819

Demander un devis
Une formatrice accompagne deux participants penchés sur leurs notes, en salle de formation
Durée
4 jours
Niveau
Intermédiaire
Modalités
Présentiel / Distanciel
Certification
Oracle Certified Professional Java SE 11 Developper

Description de la formation Java 11

Ce cours a pour but de vous préparer à la certification officielle "Oracle Certified Professional, Java SE 11 Developer" (1Z0-819). Il concerne les développeurs qui ont déjà de bonnes bases en java sur les sujets indiqués dans le contenu ci-après.

Si vous êtes intéressés par la version 17 de Java, vous pouvez suivre la formation Certification Java 17 - Certified Professional Java SE 17 Developer - Partie 1 (JCJ17).

Atelier en salle : une participante présente des notes au tableau

Objectifs pédagogiques

A l'issue de cette formation de préparation à la certification Java 11, vous saurez:

  • Effectuer un choix stratégique vous évitant de perdre du temps inutilement lors de l'examen
  • Déterminer les sujets qui nécessiteront un travail de préparation complémentaire
  • Augmenter vos chances de réussir l’examen de certification 1Z0-819

Objectifs opérationnels

Objectif opérationnel :

Préparer et réussir la certification Java 11 SE Developer.

Programme

Contenu du cours

Présentation de la certification "OCP Java SE 11 Developer"

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-819)

Révisions

Bases de Java

Différentes catégories de variables, portée et cycle de vie
Type primitifs, conversions implicites et explicites (cast)
Compiler/exécuter un programme Java en ligne de commande
Importer des classes d'autres packages
Comparer et distinguer les caractéristiques de Java comme: indépendance de la plateforme, orienté objet, l'encapsulation, etc…
Utiliser les opérateurs Java, priorité des opérateurs
Opérateurs arithmétiques, sur bits, de comparaison, parenthèses, d’affectation
Utiliser les branchements avec if, if/else et l'opérateur ternaire
Utiliser l'instruction switch, les boucles
Structure d'une classe : attributs, constructeurs, méthodes
Accès aux attributs d'un objet
Cycle de vie d'un objet
Création d’objets
Comparaison des objets en utilisant == et la méthode equals
AteliersPassage d'un QCM-bilan

Conception de classes

Appliquer aux classes les principes de l'encapsulation
Distinguer le constructeur par défaut des constructeurs définis par l'utilisateur
Appliquer les modificateurs d'accès
Créer des méthodes avec arguments et valeur de retour
Cycle de vie des variables locales
Surcharger des méthodes, notamment les constructeurs
Maîtriser le passage d'arguments aux méthodes par valeur et par référence
Appliquer le mot-clé static aux attributs et aux méthodes
Les blocs d’initialisation, les blocs static
Les classes abstraites
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
AteliersPassage d'un QCM-bilanMise en oeuvre de l'héritage

Décrire le principe de l'héritage et ses bénéfices
Mettre en œuvre le polymorphisme, redéfinir des méthodes
Savoir déterminer quand un cast est nécessaire
Utilisation de l’opérateur instanceof
Utiliser les mot-clés this et super pour l'accès aux objets et aux constructeurs
Hériter de classes abstraites et implémenter des interfaces
Nouveautés dans les interfaces
Méthodes par défaut et méthodes static 
Méthodes privées

AteliersPassage d'un QCM-bilan

Gestion des exceptions

Distinguer les exceptions contrôlées des exceptions non contrôlées, ainsi que des Errors
Créer un bloc try-catch et déterminer comment les exceptions modifient le déroulement normal du programme
Décrire les avantages de la gestion d'exceptions
Rôle de finally
Mise en œuvre du try-with-resources
Créer et invoquer une méthode qui lance une exception
Reconnaître les classes d'exceptions courantes
AteliersPassage d'un QCM-bilan

Utilisation de classes de l'API Java

Manipuler les chaînes de caractères avec les classes String et StringBuilder
Déclarer, instancier et manipuler des tableaux à une dimension
Déclarer, instancier et manipuler des tableaux à plusieurs dimensions
Manipuler les tableaux avec les méthodes de la classe Arrays
Déclarer et utiliser une ArrayList
Utilisation des classes enveloppes
Principe de l’autoboxing
Les collections de type Set et Map
Les méthodes de la classe Math
AteliersPassage d'un QCM-bilan

Mise en œuvre des modules

Modules nommés, anonymes et automatiques
Directives export, requires, uses, provides, opens
Mise en oeuvre de modules
Gestion des dépendances entre modules
Rôle du modulepath
Mise en œuvre de services
Nouvelle organisation de la documentation des API Java
Utiliser la commande jdeps
Migration d’une application non modulaire vers une application modulaire
AtelierPassage d'un QCM-bilan

Annotations

Format d’une annotation
Annotations prédéfinies de Java 11
Création d’annotations
Meta-annotations
Annotations de type
Annotations répétées
Atelier 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 
Utilisation des classes enveloppes
Méthodes de la classe Collections 
Atelier Passage d'un QCM-bilan

Programmation fonctionnelle

Comprendre les principes de la programmation fonctionnelle
Syntaxe des classes internes anonymes
Notion d’interface fonctionnelle
Anatomie d'une Expression Lambda
Mise en œuvre des interfaces fonctionnelles prédéfinies : Consumer, Supplier, Predicate, Function, UnaryOperator, BinaryOperator 
Variantes spécialisées pour types primitifs des interfaces fonctionnelles prédéfinies
Obtention de streams
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 
Savoir utiliser les méthodes groupingBy et partitioningBy 
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
AtelierPassage d'un QCM-bilan

Date/temps-Internationalisation

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 
Obtention d’un objet Locale 
Localisation de dates, nombres
Gestion des Resource Bundles 
AtelierPassage d'un QCM-bilan

Entrées/sorties de base

Savoir choisir entre les hiérarchies  InputStream/OuputStream et Reader/Writer 
La classe File 
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 
Streams sur fichiers
AtelierPassage 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 sur fichiers et répertoires
AtelierPassage 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 
AtelierPassage 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, CallableStatement et ResultSet 
Émettre 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 
AtelierPassage 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
AtelierPassage d'un QCM-bilan

Sécurité

Conception sûre d’une classe
Validation des saisies
Protection ds données sensibles
Sérialisation d’objets
Prévention des attaques par déni de service
Lecture attentive de « Secure Coding Guidelines for Java SE » fourni par Oracle

AtelierPassage d'un QCM-bilan

Programme mis à jour le 30/12/2025

Formations liées