Formation Java expert

Cette formation va vous permettre de passer un cap dans votre expertise Java

Description de le formation Java Expert

Au travers de cette formation de 4 jours, vous accumulez les connaissances nécessaires pour concevoir et mettre en place des solutions techniques avancées avec Java. La formation vous aidera à répondre aux différentes problématiques de conception de Frameworks techniques réutilisables et ce, dans le cadre du développement de nouvelles applications.
Elle vous permettra d’assimiler et maîtriser les APIs Java avancés et de savoir programmer en multi-tâches sous Java. En fonction de vos objectifs professionnels, cette formation vous mènera là où vous le souhaitez : la maîtrise de ce langage complexe, mais dont la compétence est très demandée…

Bulletin d’
inscription
 Demande de
devis
  Détail du
programme

Programme de la formation Java Expert

  • JVM
    • Le modèle de sécurité de Java
    • Chargement des classes, rôle du Bootstrap Class Loader
    • Mettre en œuvre son propre class loader
    • Vérification de la structure d’un fichier class par le class-file vérifier
    • Origines du Out Of Memory Error
    • Utilisation de l’outil visualvm
    • Principe et rôle d’un Security Manager
    • Format des fichiers .policy
  • Classes internes, Généricité, Annotations
    • Classes internes static, membre, locale, anonyme
    • Accès aux membres, création d’instances
    • Passage de paramètres génériques aux méthodes
    • Pattern Singleton
    • Méthodes génériques
    • Principe et rôle d’une annotation
    • Attributs obligatoires et optionnels
    • Cibles d’une annotation
    • Annotations personnalisées
    • Annotations multiples
  • Présentation de la programmation parallèle
    • Concepts et spécificités du multithreading par rapport à la programmation « traditionnelle »
    • États d’un thread
    • Synchronisation des threads
    • Intérêt du pattern Immutable
    • Gestion des mutex avec les interfaces Lock et Condition
    • Pools de threads
    • Le package java.util.concurrentc
    • Pools de threads
    • Les apports du framework Executor (invocation, ordonnancement, exécution, contrôle)
    • Le package java.util.concurrent
    • Les classes Atomic, les collections concurrentes
  • Accéder aux bases de données
    • Historique de l’accès aux données en Java, présentation de JDBC
    • L’API JDBC, Connection, Statement, ResultSet
    • Gestion des transactions
    • Problématique de l’ORM et introduction à JPA
    • Configuration JPA, l’exemple d’Hibernate
    • Mapping basique, API de l’EntityManager, les transactions
    • Mapping de l’héritage, des associations, lazy-loading et cascading
    • Intoduction au langage JPQL
  • Le système de modules
    • Principe et intérêt des modules
    • Format du descripteur de module : les directives
    • Utilisation des modules
    • Gestion des dépendances entre modules, la commande jdeps
    • Intérêt du module-path
    • Notions de modules anonymes et modules automatiques
    • Mise en œuvre de services
    • Modularité du JDK
    • Nouvelle organisation de la documentation des API Java
    • Fichiers jar modulaires
    • Problématique des migrations : approches bottom-up et top-down
  • Nouveautés de Java 11 à 17
    • Évolution du switch
    • Blocs de texte
    • Rôle et intérêt des records
    • Classes et interfaces scellées
    • La commande jlink
    • La commande jpackage
  • L’accès aux bases de données
    • Historique de l’accès aux données en Java, présentation de JDBC
    • Correspondance entre types SQL et Java
    • Rôle du driver
    • L’API JDBC, Connection, Statement, ResultSet
    • Requêtes paramétrées avec PreparedStatement
    • Appel de procédure stockées avec CallableStatement
    • Utilisation de l’API RowSet
    • Gestion des transactions
    • Notion de pool de connexions
    • Problématique de l’ORM et introduction à JPA
  • Accès complet au système de gestion de fichiers avec Nio.2
    • Les nouvelles classes java.nio.file.Files et java.nio.file.Path
    • Gestion des liens symboliques
    • Manipulation de chemins, parcours de répertoires et d’arborescences
    • Accès aux attributs d’un fichier
    • Notification des changements dans un répertoire
    • Gestion des archives Jar/zip
  • Expressions Lambda, 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 : Consumer, Supplier, Predicate, Function
    • Gestion des exceptions
  • Mise en œuvre de l’API Stream pour la manipulation de flux de données
    • Objectif de l’API Stream
    • Obtention et sortie d’un stream
    • Opérations intermédiaires et terminales
    • Mise en œuvre des méthodes forEach, map, filter, findFirst
    • Principe de l’évaluation paresseuse
    • Intérêt de la la classe Optional
    • Intérêt de la la classe Optional
    • Réductions avec reduce et collect
    • Interface Collector et classe Collectors
    • Autres méthodes : limit, skip, sorted, min, max, distinct, allMatch, anyMatch, noneMatch, count
    • Streams sur fichiers et répertoires
    • Streams parallèles, précautions d’usage
  • Sensibilisation à l’outil Maven et aux frameworks JUnit, Hibernate, Spring
    • Rôle et intérêt de Maven
    • Structure d’un projet Maven
    • Constitution d’un POM
    • Résolution des dépendances
    • Comparaison framework/librairie
    • Présentation de JUnit pour les tests unitaires
    • Présentation de Hibernate/JPA pour l’accès aux bases de données relationnelles
    • Présentation de Spring pour l’injection de dépendances
  • Débugging d’applications
    • Rôle du débugging
    • Présentation de l’outil de débugging dans l’IDE
    • Notions de breakpoint, conditional breakpoint, watchpoint, step filtering
    • Exécution en pas à pas, observation des variables, modification
    • Suspension et reprise de l’exécution d’un thread
LA SATISFACTION DES PARTICIPANTS À CETTE FORMATION EST DE 4/5 :
  • Niveau : Expert
  • Ref : BIOB370
  • Durée : 4 jours - 28h
  • Prix : 2400€
  • Niveau : Expert
  • Ref : BIOB370
  • Durée : 4 jours - 28h
  • Prix : à définir
organiser votre formation

Objectifs

  • Se familiariser avec le fonctionnement de la JVM
  • Savoir utiliser les API NIO.2 pour manipuler les fichiers, liens symboliques et répertoires
  • Savoir programmer en java dans le contexte des bases de données relationnelles
  • Pouvoir développer une application Java multitâches en utilisant les threads
  • Savoir mettre en œuvre l’API Stream
  • Savoir mettre en œuvre les modules de Java 11
  • Savoir déboguer une application

Public

  • Développeurs C ou C++
  • Développeurs Java sur projets EAI
  • Développeurs Java sur frameworks techniques

Pré-requis

  • Avoir suivi une formation du type : Découvrir l'Objet et programmer en Java
  • Avoir suivi une formation du type : Développer des applications Web Java avec servlets et JSP
  • Posséder des connaissances équivalentes à ces formations
Pré-inscription
Nous proposons
Consulting
Formation