Durée : 5 semaines / 5 journées
Volume horaire : 4h / jour
Public : Tous
Pré-requis : Notions élémentaires de programmation.
Note: Le formateur va tout de même revoir tous les concepts Java de A à Z selon le programme mentionné.
Objectifs : Maîtriser les notions de programmation orientée objet JAVA.
Formateur: expert Java EE
Programme de la formation:
--- Partie 1 --- Outils de développement
• Historique, caractéristiques, JDK, JRE, versions
• Rôle de la machine virtuelle, Java SE, Java EE, Java ME. JDK 8 et JRE 8.
• Eclipse, Debugging
Java, fondamentaux
• Types primitifs, variables, opérateurs, Branchements conditionnels, boucles
• Conversions de type, tableaux.
Classes, objets, relations entre objets
• Conceptions UML/notion de POO
• Packages, classes, objets, constructeurs, méthodes, spécificateurs d’accès
• Membres static, surcharge de méthodes
• Les énumérations, héritage
• Polymorphisme, classes abstraites, interfaces, conversions entre objets
• La classe Object et ses méthodes et Les classes enveloppes.
--- Partie 2 ---
Les exceptions
• Hiérarchie des classes d’exception, Exceptions contrôlées et non-contrôlées
• Mécanisme try-catch, rôle de finally, try-with-ressources et la Propagation d’exceptions.
Les traitements sur les chaînes de caractères
• Manipulation de chaînes avec String et StringBuilder, Scanner, StringTokenizer
• Utilisation des expressions régulières avec Pattern et Matcher
• Formatage des chaînes de caractères
Les collections et la généricité
• Les collections: List, Set, Queue, Map
• Intérêt de la généricité
• Redéfinition des méthodes equals et hashCode
• Parcours de collections avec itérateur, boucle for-each
• Classes ArrayList, HashSet, TreeSet, HashMap.
--- Partie 3 ---
Les flux d'entrées-sorties
• Flots d’octets, de caractères
• Manipulation de fichiers en lecture/écriture
• Manipulation de répertoires, Bufferisation des données, Sérialisation d’objets.
La nouvelle API pour la gestion du temps et des dates
• API des packages java.time et java.time.format
• Parsing et formatage des dates.
Introduction aux expressions Lambda
• Classes internes anonymes, expressions lambdas
• Interfaces java 8
• Interfaces fonctionnelles
• ATELIERS : Remplacement de classes internes anonymes par des lambdas
• Création de lambdas avec Consumer, Supplier et Predicate
Déploiement d’applications
• Principe du déploiement
• Création/utilisation de librairies jar
• Création/utilisation de jar exécutables
--- Partie 4 ---
Fonctionnement de la JVM
• Chargement des classes, Classloader, classpath
• Gestion de la mémoire, le garbage collector
• Le multithreadings, support de Java pour la gestion des threads
• Le modèle de sécurité de Java
• La réflexion, les annotations
• Les outils d'inspection, debugger, surveillance, traces
Aperçu sur les design patterns
• Introduction aux design patterns, les documentations de référence
• Pattern singleton
• Patter Factory
• Pattern Decorator
• Pattern Builder
• Pattern Proxy
--- Partie 5 ---
Java et les bases de données
• Historique de l'accès aux données via Java, présentation de JDBC
• L'API JDBC, Connection, Statement, ResultSet