Accueil > Développement Logiciel, Devops > Cycle Programmation Java
Formation #DEV43

Formation Cycle Programmation Java

Formation avec Restauration incluse
(Déjeuner, Petit Déjeuner et Pauses Cafés)

Durée : 10 jours

Code : DEV43


Sessions programmées :

Du 08 au 17 Fév. 2021

Du 12 au 21 Avril 2021

Du 21 au 30 Juin 2021

Du 20 au 29 Sept. 2021

Du 22 Nov. au 01 Déc. 2021

Fin d'Inscription :
Le Bulletin d'Inscription doit être rempli, cacheté, signé et envoyé par email :
  • Pour les entreprises AU MAROC :
    Au minimum 10 JOURS OUVRÉS avant la date de formation
  • Pour les entreprises HORS MAROC :
    Au minimum 15 JOURS OUVRÉS avant la date de formation

Formation dans votre entreprise.

Durée : 10 jours

Code : DEV43


Vous souhaitez réaliser cette formation en vos locaux avec le même programme ?

Vous souhaitez personnaliser le programme de cette formation pour qu'elle réponde aux spécificités de votre entreprise ?

Objectifs

  • Découvrir les différents concepts orientés-objets en Java
  • Acquérir les connaissances nécessaires à la programmation Java afin d’intégrer directement une équipe projet
Programme
1/ Les fondamentaux de la programmation
  • Définitions : programme, langage
  • Quel langage pour quelle application
  • Les compilateurs
  • Les exécutables
  • Responsabilités d'un programmeur
  • Définition d'un algorithme
  • Les besoins d'algorithme
2/ Présentation de l’écosystème Java
  • Introduction à Java (J2SE/J2E/J2ME et la JVM)
  • Les composants techniques de Java (JDK)
  • Les principales APIs
  • Les outils Java : JavaDoc, Jar et co
  • Différents IDE : Eclipse, NetBeans et IntelliJ
3/ Un premier programme
  • Création d'un programme simple
  • Compilation et exécution du programme
  • Librairie : Définition, rôle, usage
4/ Recommandations de programmation
  • Convention de nommage et syntaxique
  • Commentaires
  • Lisibilité des programmes : indentation du code, découpage du code...
5/ Syntaxe de base du langage
  • Les variables : déclaration, Initialisation
  • Présentation des différents opérateurs
  • Les structures de contrôle
6/ Les procédures et les fonctions
  • Définitions : procédure, fonction
  • Le passage de paramètres
  • Retour d'une fonction
  • Notion de passage par adresse
  • Appel de fonctions
7/ Les concepts orientés Objet en Java
  • Les classes, les attributs, les méthodes
  • Les constructeurs
  • Les références de méthodes
  • L'encapsulation
  • Les imports et packages
  • Intérêt des classes abstraites et des interfaces
  • Mise en œuvre des interfaces
  • L’héritage, le polymorphisme
  • Unboxing et l’autoboxing
8/ Les exceptions
  • Notion d'une exception
  • La gestion des erreurs
  • Les diverses exceptions en Java
  • Les blocs try/catch/finally
  • Gestion locale ou centralisée
  • Définir ses propres exceptions
9/ Utilisation des bibliothèques standards
  • Les tableaux
  • Les collections
  • Les dates et calendriers
10/ Entrées / sorties
  • Accès au système de fichiers
  • Les fichiers bruts
  • Les fichiers texte
  • Les fichiers de propriétés
  • Récupération de propriétés
  • La sérialisation
  • La persistance des objets dans un fichier sauvegarde
11/ Accès aux bases de données relationnelles
  • La librairie JBDC
  • Connexion à une base de données
  • Exécution d'une requête
  • Requêtes paramétrées et requêtes stockées
12/ Fichiers de propriétés et L’API d’internationalisation (i18n)
  • Accès et manipulation des fichiers
  • Internationalisation (i18n)
  • Resource Bundle
13/ API pour les fichiers de logs
  • Générer des Logs avec Log4j
  • Filtrer les Logs par niveau d'importance
  • Configuration de destination(s)
14/ Java et les tests unitaires
  • Tests unitaires avec JUnit
  • Génération des rapports
  • Couverture de code : Introduction à la notion et exemples de frameworks
  • Options avancées de la perspective Debug
15/ Fonctionnement de la JVM
  • Chargement des classes, Classloader, classpath
  • Gestion de la mémoire, le garbage collector
  • Les aspects avancés de la JVM
  • Mécanismes liés à la JVM pour assurer la sécurité
  • Modèle de sécurité : permissions, politiques et domaines de sécurité
  • Gestionnaire de sécurité et contrôle d’accès
  • La réflexion, les annotations
  • Les outils d'inspection, surveillance, traces
16/ Evolutions de la syntaxe Java
  • Evolutions de Java 5 à Java 8
  • Structures de contrôles « switch » avec des objets String
  • Faciliter la lecture des valeurs littérales
  • Traitements des chaînes de caractères et expressions régulières
17/ Hibernate et JPA
  • Rappels de l’accès aux données, JDBC et DAO
  • Hibernate et JPA: présentation
  • Architecture logicielle d’Hibernate et de JPA
  • Architecture Technique d’Hibernate et de JPA
  • Mise en place de l'environnement
  • Les objets et les différents mappings
  • Les langages de requête Hibernate QL et JQPL
18/ Introduction au framework Spring
  • Présentation des différents modules de Spring
  • L’injection des dépendances (IoC)
  • Programmation Orientée Aspect avec Spring AOP
  • Les pools de connexions et les transactions
  • Intégration avec Hibernate
  • Spring MVC
19/ La programmation concurrente
  • Concepts et spécificités du multithreading par rapport à la programmation « traditionnelle »
  • Mise en œuvre des Threads
  • Cycle de vie des Threads
  • Ordonnancement des Threads
  • Synchronisation des threads
  • Le verrouillage des méthodes et des instructions
  • Les moniteurs
  • Principes de la conception d'applications multi threads
  • La librairie concurrente
  • Les nouvelles collections
  • Les nouveaux outils de synchronisation
  • L’utilisation du framework Fork/Join
  • La Classe Phaser
20/ La programmation réflexive
  • Objectifs et principes
  • Le chargement de classes
  • L'objet Class
  • Découverte dynamique des informations
  • Instanciation dynamique
  • Invoquer une méthode
21/ Expressions Lambda, références de méthodes
  • Objectifs et 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
  • Interfaces fonctionnelles
22/ L’API Stream
  • 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 classe Optional
  • Réduction avec reduce et collect
  • Interface Collector et classe Collectors
  • Autres méthodes : limit, skip, sorted, min, max, distinct, allMatch, anyMatch, noneMatch, count
  • Streams parallèles, précautions d’usage
23/ La communication par messages JMS
  • Les principes de la communication par messages
  • Présentation de l'Architecture MQ et JMS
  • Communication Point-To-point avec les Queues
  • Communication Publish/Subscribe avec les Topics
Approche Pédagogique

Approche Pédagogique

  • Pédagogie très opérationnelle fondée sur l'alternance entre théorie et pratique
  • Cas pratiques
  • Remise d’outils
  • Echanges d’expériences
Participants

Participants

  • Chefs de projets
  • Architectes logiciels
  • Développeurs
Dates

Dates

  • Du 08 au 17 Fév. 2021
  • Du 12 au 21 Avril 2021
  • Du 21 au 30 Juin 2021
  • Du 20 au 29 Sept. 2021
  • Du 22 Nov. au 01 Déc. 2021
  • Fin d'Inscription :
    Le Bulletin d'Inscription doit être rempli, cacheté, signé et envoyé par email :
    • Pour les entreprises AU MAROC : Au minimum 10 JOURS OUVRÉS avant la date de formation
    • Pour les entreprises HORS MAROC : Au minimum 15 JOURS OUVRÉS avant la date de formation