Formation Java OCA/OCP 8

JAVA OCA

INTRODUCTION AUX TECHNOLOGIES JAVA
  • Caractéristiques et particularités du langage Java
  • Les domaines d'application (Application, Applet, Développement Serveur, Androïd, Java Embarqué, etc.)
  • Se repérer dans le vocabulaire (JDK, JRE, JSE, JVM, etc. )
  • Portabilité des programmes Java à travers la JVM
  • Gestion de la mémoire
  • Sécurité et programmes Java
  • Notions de multithreading
  • La place de Java dans les architectures d’applications (n-tiers)
  • Utiliser efficacement la documentation
  • Téléchargement et installation des différents composants nécessaire à la mise en place de l’environnement de développement (JRE, JDK, Eclispe).
PRISE EN MAIN D’ECLIPSE
  • Liens entre Java et Eclipse
  • Problèmes classiques liés aux environnements 32/64 bits
  • Qu’est-ce qu’un projet pour Eclipse ?
  • Arborescence et chemin d'accès
  • Principe des protections
  • Attributs des fichiers et des répertoires
  • Bien utiliser l'aide en ligne
  • Configuration des exécutions, fonctionnalités du debugger
  • Création d'un projet, importation de sources, génération et complétion de code, refactoring.
  • Exécution à l'aide du debugger
JAVA ET LA PROGRAMMATION OBJET
  • Présentation des types de données base
  • Déclaration d’une classe et de ses méthodes
  • Instanciation, constructeur
  • Accès aux données par les méthodes
  • Accès aux méthodes
  • Création d'un projet, implémentation des classes d’un petit modèle objet, mise en place de quelques méthodes d’accès aux données, tests
LA SYNTAXE DU LANGAGE JAVA (VARIABLES, OPÉRATEURS, TESTS, BOUCLE)
  • Structure d'un fichier .java
  • Constructeur et processus d'instanciation, le mot clé static
  • Notion d'identité objet
  • Déclaration de variables et Initialisation
  • Types primitifs et classes du package java.lang
  • Les constantes
  • Opérateurs d'affectation, de comparaison, booléens, ... Instruction de contrôles (if, switch, …)
  • Boucles et itérations
  • Implémentation d’un programme simple mettant en œuvre beaucoup d’éléments de la syntaxe Java afin de disposer d’un code source de « référence ».
MANIPULATION DES TABLEAUX
  • Quand utiliser un tableau ou une collection (Array, ArrayList)
  • Création et initialisation d’un ArrayListAccès aux éléments (boucles)
  • Algorithme de tri d'une collection permettant de manipuler les tableaux et les collections.
ASPECTS OBJETS AVANCÉS
  • Java et l'héritage simple
  • La surcharge de méthodes
  • Travailler avec des superclasses et des sous classes
  • Les mots clé final et super
  • Comprendre l’apport des interfaces en Java
  • Créer et utiliser une interface
  • Mise en œuvre d’un exemple évolutif (« mal » conçu volontairement au début) amenant les participants à comprendre l’apport des interfaces et de l’héritage.
GESTION DES ERREURS (EXCEPTIONS)
  • Comprendre les différents types d’erreurs en Java
  • Quel mécanisme est proposé par Java pour les gérer ?
  • Utiliser la documentation pour retrouver les exceptions des méthodes des classes de base
  • Implémenter la gestion des exceptions en Java
  • Ecriture d’un programme générant des erreurs mais sans prise en charge des exceptions.
  • Modification du code pour les prendre en charge.
LES PACKAGES JAVA
  • Qu’est-ce qu’un package pour Java ?
  • Organisation hiérarchique des packages
  • La variable CLASSPATH
  • Convention de nommage des packages
  • Les fichiers .jar
  • Liens entre répertoire, espace de nommage, et packages
  • Créer son propre package (convention de contenu)
  • Import et export de packages
UTILISATION DE QUELQUES API JAVA
  • Utilisation de la classe StringBuilder et de ses méthodes
  • Créations et manipulations de Strings (chaînes de caractères)
  • Créer et manipuler des données calendaires avec les classes java.time.LocalDateTime,  java.time.LocalDate, java.time.LocalTime, java.time.format.DateTimeFormatter, java.time.Period
  • Ecrire une expression lambda simple
PRÉPARATION À LA CERTIFICATION JAVA 8
  • Synthèses des questions récurrentes
  • Trucs et Astuces (par exemple les questions auxquelles ne pas répondre pour ne pas perdre de temps)
  • Exemples d’examen blanc

JAVA OCP

CONCEPTION DE CLASSES JAVA
  • Utiliser les spécificateurs d'accès: private, protected, et public
  • Redéfinir les méthodes
  • Surcharger les méthodes et les constructeurs
  • Utiliser l'opérateur instanceof et les transtypages 
  • Invoquer les méthodes virtuelles
  • Redéfinir les méthodes hashCode, equals, et toString de la classe Object pour améliorer les fonctionnalités d'une classe
  • Utiliser les instructions package et import
  • Travaux Pratiques : Test blanc et corrigé du test
CONCEPTION AVANCÉE DE CLASSES
  • Identifier quand et comment appliquer les classes abstraites
  • Construire des classes abstraites et des sous-classes
  • Utiliser les mots-clés static et final
  • Créer des classes englobantes et emboîtées
  • Utiliser les types énumérés
  • Travaux Pratiques : Test blanc et corrigé du test
PRINCIPES DE LA CONCEPTION ORIENTÉE OBJET
  • Ecrire du code qui déclare, implémente et/ou hérite d'interfaces
  • Choisir entre l'héritage d'interfaces et celui de classes
  • Appliquer les principes de cohésion, de faible couplage, relation EST-IN, relation A-UN
  • Appliquer les principes de la composition d'objets
  • Concevoir une classe qui utilise le design pattern Singleton
  • Ecrire du code qui implémente le design pattern Data Access Object (DAO) 
  • Concevoir et créer des objets en utilisant le pattern Factory
  • Travaux Pratiques : Test blanc et corrigé du test
COLLECTIONS ET GÉNÉRICITÉ
  • Créer une classe générique
  • Utiliser le diamant (<> ) pour déduire le type paramétré
  • Analyser l'interopérabilité des collections qui utilisent la généricité avec celles qui ne l'utilisent pas
  • Utiliser les classes enveloppes, et l'autoboxing 
  • Créer et utiliser les implémentations de List, Set et Deque
  • Créer et utiliser les implémentations de Map
  • Utiliser java.util.Comparator et java.lang.Comparable
  • Trier et rechercher dans les tableaux et les listes
  • Travaux Pratiques : Test blanc et corrigé du test
TRAITEMENT SUR LES CHAÎNES DE CARACTÈRES
  • Rechercher, analyser et créer des chaînes de caractères (en utilisant Scanner, StringTokenizer, StringBuilder, String et Formatter)
  • Rechercher, analyser et remplacer des chaînes de caractères au moyen d'expressions régulières, en utilisant le jeu de caractères: . (point), * (astérisque), + (plus), ?, d, D, s, S,  w, W, b. B, [], ().
  • Formater les chaînes de caractères en utilisant les paramètres de formatage: %b, %c, %d, %f, et %s.
  • Travaux Pratiques : Test blanc et corrigé du test
EXCEPTIONS ET ASSERTIONS
  • Utiliser les instructions throw et throws 
  • Gèrer plusieurs types d'exceptions dans un seul bloc catch
  • Développer du code qui utilise l'instruction try-avec-ressources (y compris en utilisant des classes qui implémentent l'interface AutoCloseable)
  • Créer des exceptions personnalisées
  • Tester les invariants au moyens d'assertions
  • Travaux Pratiques : Test blanc et corrigé du test
ENTRÉES/SORTIES DE BASE
  • Lire et écrire des données sur la console
  • Utiliser les flux pour lire ou écrire dans des fichiers en utilisant des classes du package java.io, notamment BufferedReader, BufferedWriter, File, FileReader, FileWriter, DataInputStream, DataOutputStream, ObjectOutputStream, ObjectInputStream, et PrintWriter
  • Travaux Pratiques : Test blanc et corrigé du test
ENTRÉES/SORTIES SUR FICHIERS (NIO.2)
  • Manipuler les chemins des fichiers et répertoires au moyen de la classe Path
  • Contrôler, supprimer, copierCheck, delete, copy, ou déplacer un fichier ou un répertoire avec la classe File
  • Lire et modifier les attributs de fichiers ou répertoires, notamment ceux du type BasicFileAttributes, DosFileAttributes, et PosixFileAttributes 
  • Accéder récursivement à une arborescence en utilisant les interfaces DirectoryStream et FileVisitor 
  • Trouver un fichier avec l'interface PathMatcher
  • Surveiller les modifications dans un répertoire avec l'interface WatchService
  • Travaux Pratiques : Test blanc et corrigé du test
APPLICATIONS D'ACCÈS AUX BASES DE DONNÉES AVEC JDBC
  • Décrire les interfaces qui constituent le cœur des API JDBC (notamment les interfaces Driver, Connection, Statement, et ResultSet et leur relation avec les implémentations des fournisseurs)
  • Identifier les composants nécessaires pour se connecter avec une base de données en utilisant la classe DriverManager (ainsi que l'URL jdbc)
  • Soumettre des requêtes et lire les résultats de la base de données (création des états, reour des résultats, parcours des résultats, fermeture des résultats, des états et des connexions)
  • Utiliser les transactions JDBC (y compris désactiver le mode auto-commit, commiter et effectuer un rollback des transactions, et enregistrer des points de sauvegarde)
  • Construire et utiliser des objets RowSet en utilisant la classe RowSetProvider et l'interface RowSetFactory
  • Créer et utiliser les objets PreparedStatement et CallableStatement
  • Travaux Pratiques : Test blanc et corrigé du test
LES THREADS
  • Créer et utiliser la classe Thread et l'interface Runnable interface
  • Gérer et contrôler le cycle de vie des threads
  • Synchroniser l'accès des threads à des données partagées
  • Identifier du code qui pourrait ne pas s'exécuter correctement dans un environnement multi-threads
  • Travaux Pratiques : Test blanc et corrigé du test
LES ACCÈS CONCURRENTS
  • Utiliser les collections du package java.util.concurrent en mettant en avant leurs avantages et leurs différences avec les collections classiques du package java.util
  • Utiliser les classes Lock, ReadWriteLock, et ReentrantLock dans le package java.util.concurrent.locks afin de supporter la programmation thread-safe sur les variables simples
  • Utiliser Executor, ExecutorService, Executors, Callable, et Future afin d'exécuter des tâches avec l'appui des pools de threads
  • Utiliser le framework Fork/Join
  • Travaux Pratiques : Test blanc et corrigé du test
INTERNATIONALISATION
  • Lire et configurer la langue avec un objet Locale
  • Construire un resource bundle pour chaque langue
  • Appeler un resource bundle depuis une application 
  • Formater les dates, nombres, et valeurs monétaires en fonction de la langue avec les classes NumberFormat et DateFormat (y compris les modèles de formatage de nombres) 
  • Décrire les avantages d'internationaliser une application
  • Définir un objet Locale en utilisant les codes pays et langue
  • Travaux Pratiques : Test blanc et corrigé du test

Pas de pré-requis

Détails

  • Catégorie Langage de Programmation
  • Durée 50 heures
Demander un devis