Formation Le développement Java

Public admis

  • Salarié en Poste
  • Demandeur d'emploi
  • Entreprise
  • Etudiant

Financements

Eligible CPF Votre OPCO Financement personnel

Objectifs de la formation

À l'issue de cette formation Java Développement, vous aurez acquis les connaissances et les compétences nécessaires pour :

  • Maîtriser son environnement de développement (IDE Java)
  • Maîtriser la syntaxe Java
  • Savoir appliquer les concepts de la programmation orientée objet au langage Java (classes, méthodes, encapsulation, héritage, constructeur, polymorphisme, classe abstraite, interfaces, relations entre classes, etc.)
  • Mettre en œuvre les principales fonctions des API standards (Collections, I/O, JDBC, Streams, …)
  • Connaître les spécificités des différentes versions de Java
  • Comprendre le fonctionnement de la JVM
  • Savoir utiliser les API NIO.2 pour manipuler les fichiers, liens symboliques et répertoires
  • Programmer en Java dans le contexte des bases de données relationnelles
  • Développer une application Java multitâches en utilisant les threads
  • Utiliser les expressions lambdas
  • Mettre en œuvre l’API Stream
  • Mettre en œuvre les modules de Java 11
  • Débugger une application

PLB CONSULTANT


Informatique et Management
Voir la fiche entreprise

Tarif

Contacter l'organisme

Durée 9 jours (63h)
Modes
  • Centre
  • Entreprise
  • Distance
Sessions
Lieux Partout en France

PLB CONSULTANT


Informatique et Management
Voir la fiche

Tarif

Contacter l'organisme

Durée 9 jours (63h)
Modes
  • Centre
  • Entreprise
  • Distance
Sessions
Lieux Partout en France

Description

Cette formation Java Développement représente un cursus progressif de 9 jours visant à vous rendre autonome dans l'utilisation du langage Java et des frameworks incontournables que sont Hibernate et Spring. Vos solides compétences Java vous permettront d’être opérationnel tout en ayant acquis les bonnes pratiques du développement d'applications Java dans un contexte professionnel avec les outils de génie logiciel «vraiment» utilisés au quotidien.

Un premier module permet de vous familiariser avec l’IDE Eclipse pour mettre en œuvre les concepts objets de Java (Packages, Héritage, Interface, Classe abstraite, Exceptions). Les APIs de base (Collections, I/O, String, Date) sont explicitées en profondeur. Les participants sont également familiarisés avec les règles de nommage, le déploiement d’applications Java, l'accès à la documentation et les modernités de Java 8.

Le second module permet de présenter la persistance des données en Java (Hibernate/JPA) et de consolider votre connaissance de Java (fonctionnement interne de la JVM), tout en professionnalisant vos développements (outils de diagnostics de bugs, test unitaire avec Junit, intégration avec Maven, design patterns couramment utilisés).

Dans la dernière partie de la formation vous apprenez à utiliser Spring. Ce framework facilite et structure le développement ainsi que les tests en proposant un portefeuille complet de solutions aux développeurs. Spring s'appuie principalement sur l'intégration de trois concepts clés : l'inversion de contrôle (IoC) ou injection de dépendance, la programmation orientée aspect et une couche d'abstraction qui permet d'intégrer d'autres frameworks (comme Hibernate vu précédemment) et bibliothèques avec une plus grande facilité.

Attention, cette formation est composée de deux modules, les dates indiquées sont celles du premier module de 5 jours. Pour connaitre les dates des modules suivants, contactez notre service commercial.

Programme

Présentation de Java

Historique, caractéristiques, Rôle de la machine virtuelle  
Déclinaisons : Java SE, Java EE, Java Embedded  
Les outils fournis par le JDK  
Les évolutions de Java : Java 8, Java11+  
Importance des LTS (Long Term Support)  
Licence Oracle et alternative avec OpenJDK
Travaux Pratiques :Objectifs : Savoir installer le JDK, être capable de compiler et d’exécuter une application Java  
Description : Installation du JDK 11. Récupération de HelloWorld.java. Commandes de compilation

Outils de développement

Les apports d’un IDE : Compilation automatique, refactoring, automatisation de tâches  
Les IDEs Java les plus répandus : Eclipse, IntelliJ  
Prise en main d’Eclipse : Notion de perspective, de Vue, Préférences, MarketPlace  
Créer un projet dans Eclipse. Organisation des sources et des classes  
Exécuter une application, Configuration des exécutions  
Debugging : La perspective de Debug
Travaux Pratiques :Objectifs : Savoir installer et se retrouver dans Eclipse, Comprendre les spécificités d’un projet Java, Savoir Debugger un programme Java  
Description : Création d’un projet Java, Récupération de HelloWorld.java. Visualisation des propriétés du projet, répertoire de compilation, Version JDK. Exécution, exécution en mode DEBUG, breakpoint

Java, fondamentaux

Types primitifs, variables, opérateurs  
Branchements conditionnels, switches, boucles  
Conversions de types, tableaux  
Déduction du type des variables locales avec var
Travaux Pratiques :Objectifs : Prendre en main les bases de la syntaxe et en particulier les instructions de contrôle  
Description : Création de programmes simples avec mise en œuvre de variables de différents types, Calculs avec opérateurs, branchements conditionnels et boucles.

Classes, objets, relations entre objets

Packages, classes, objets, constructeurs, méthodes, spécificateurs d’accès  
Cycle de vie d'un objet en mémoire, instanciation d’objet avec new  
Comprendre le mot clé static  
Surcharge de méthodes  
Les énumérations  
Relations de composition, associations, héritage  
Polymorphisme, classes abstraites, interfaces, conversions entre objets  
La classe Object et ses méthodes  
Les classes enveloppes
Travaux Pratiques :Objectifs : Comprendre la POO dans Java. (Instanciation, Relations, Héritage, Interfaces)  
Description : Création d’une application avec classes en relation d’association, de composition, d’héritage, Mise en œuvre du polymorphisme.

Les exceptions

Hiérarchie des classes d’exceptions  
Exceptions contrôlées et non contrôlées  
Mécanisme try-catch, rôle de finally, try-with-ressources  
Propagation d’exceptions, récupération de Stack Trace
Travaux Pratiques :Objectifs : Distinguer exception contrôlée et non-contrôlée. Construction syntaxique de la gestion des exceptions.  
Description : Mise en place d’une gestion d’exceptions avec try-catch-finally dans une application. Utilisation du try-with-resources. Propagation d’exceptions contrôlées et non-contrôlées.

Déploiement d’applications

Principe du déploiement  
Création/utilisation de librairies jar  
Création/utilisation de jar exécutables  
Les commandes jlink et jpackage du JDK
Travaux Pratiques :Objectifs : Savoir créer un fichier jar exécutable ou non  
Description : Déployer une application à l’aide d’un fichier jar ordinaire puis à l’aide d’un jar exécutable

Les collections et la généricité

Qu’est-ce que la généricité ? Son intérêt et son usage dans les collections  
L’interface Collection, ses principales sous-interfaces : List, Set, Queue  
L’interface Map  
Les principales classes d’implémentation : ArrayList, HashSet, TreeSet, HashMap  
Redéfinition des méthodes equals et hashCode  
Parcours de collections avec itérateur, boucle for-each
Travaux Pratiques :Objectifs : Comprendre les différences entre les types de collection et savoir utiliser les principales implémentations.  
Description : Remplacement d’un tableau Java par une collection ArrayList dans un projet. Parcours des éléments. Utilisation d’un TreeSet, d’une HashMap

Les flux d'entrées-sorties

Principales classes du package java.io  
Distinction flux d’octets, de caractères  
Application aux fichiers, au réseau  
Opérations de lecture/écriture sur les fichiers.  
Manipulation de répertoires  
Bufferisation des données Sérialisation d’objets  
Présentation des API du package java.nio
Travaux Pratiques :Objectifs : Comprendre la notion d’I/O en Java. Savoir l’appliquer à la manipulation de fichiers aux connexions réseau  
Description :  Écriture/lecture dans un fichier texte, puis un fichier binaire. Manipulation de répertoires avec File. Désérialisation d’objets présents dans un fichier.

L'accès aux bases de données avec l’API JDBC

Le modèle de JDBC, ses principes généraux  
Rôle du driver  
Rappels sur les bases de données relationnelles et SQL  
Correspondance entre types SQL et Java  
Se connecter à un SGBD via JDBC  
Exécuter des requêtes de sélection, de mise à jour  
L’utilisation des PreparedStatement  
Concepts de transaction, délimiter une transaction via JDBC  
Notion de pool de connexions
Travaux pratiquesObjectifs : Etre capable de charger un pilote JDBC, d’exécuter des ordres SQL et d’exploiter les réponses, comprendre les propriétés ACID d’une transaction  
Description : Mise en place du Driver PostgreSQL dans Eclipse. Ecriture d’une classe DAO offrant les opérations CRUD sur un objet du domaine Simple. Ecriture d’un Main faisant usage de la classe DAO.

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
Travaux Pratiques :Objectifs : Comprendre l’intérêt des expressions lambda pour le développeur  
Description : Remplacement de classes internes anonymes par des expressions lambda. Mise en œuvre d’interfaces fonctionnelles de la bibliothèque. Simplification d’expressions lambdas par des références de méthodes

Introduction à 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 (lazy)  
Intérêt de la classe Optional  
Spécificités des traitements Big Data
Travaux Pratiques :Objectifs : Comprendre l’intérêt de l’API Stream pour le développeur  
Description : Utilisation de streams séquentiels sur tableaux et collections

Tour d’horizon des nouveautés importantes de Java 11 à Java 17

Les modules : rôle et principe  
Nouvelle syntaxe du switch  
Les blocs de texte  
Pattern matching avec instanceof  
Les records  
Les classes et interfaces scellées
Travaux PratiquesObjectifs : Savoir dans quels cas utiliser les différents éléments présentés dans ce chapitre  
Description : Quizz de validation et exemples de code commentés par le formateur

Fonctionnement de la JVM (Java Virtual Machine)

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 verifier 
Gestion de la mémoire, les différents garbage collectors 
Origines du Out Of Memory Error 
Utilisation de l’outil visualvm 
Principe et rôle d’un Security Manager 
Format des fichiers .policy
Travaux pratiquesObservation via Visualvm des cycles d'allocation/désallocation des objets et des performances associées,  
la détection de deadlocks 
Mise en œuvre d’un SecurityManager pour protéger l’accès aux fichiers du système

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 
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
Travaux pratiquesMise en œuvre de classes internes, méthodes génériques, annotations personnalisées dans une petite application

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 
Les apports du framework Executor (invocation, ordonnancement, exécution, contrôle) 
Le package java.util.concurrent 
Les classes Atomic, les collections concurrentes
Travaux pratiquesÉcriture d’une application client/serveur en Java 
Correction d’une corruption de données dans une application

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
Travaux pratiquesMise en œuvre des API JDBC pour le développement d’un DAO (Data Access Object)

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 
Entrées/sorties asynchrones
Travaux pratiques Parcours d’arborescences pour copie/suppression de fichiers 
Synchronisation de répertoires entre arborescences

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
Travaux pratiquesRemplacement de classes internes anonymes par des expressions lambda 
Mise en œuvre d’interfaces fonctionnelles de la bibliothèque 
Simplification d’expressions lambdas par des références de méthodes

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 
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
Travaux pratiquesUtilisation de nombreux streams séquentiels et parallèles sur tableaux et collections 
Comparaison de performances entre streams séquentiels et parallèles

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
Travaux pratiquesDécoupage d'une application en modules 
Mise en œuvre de modules anonymes et automatiques 
Mise en œuvre de services 
Migration d'une application avec mise en oeuvre des modules

Autres 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

Introduction à 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
Travaux pratiquesCréation d’un projet Maven faisant appel aux API Spring

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
Travaux pratiquesRecherche et correction de bugs dans une application fournie

Prérequis

Développeur possédant des connaissances sur les principes de base de la programmation objet, la formation Conception et Programmation objet (Réf DIPO) est un pré requis idéal pour tirer pleinement profit de ce stage.

Public

Cette formation Java s'adresse aux développeurs et aux chefs de projet

Ces formations pourraient vous intéresser

Objectifs de la formation

Concrètement, à l'issue de cette fomration RedHat JBoss Application Administration I vous aurez acquis les connaissances et les compétences nécessaires pour :

  • Installer et executer JBoss EAP 7 en mode autonome et en mode domaine
  • Configurr un domaine sous JBoss EAP
  • Déployer des applications sur JBoss EAP 7
  • Configurer un sous-système de source de données
  • Mettre en oeuvre Java™ Message Service (JMS) et HornetQ
  • Configurer un sous-système de journalisation et un sous-système Web
  • Mettre en œuvre la sécurité applicative dans JBoss EAP 7
  • Configurer un sous-système de traitement par lots
  • Introduire la mise en cluster

Ce cours repose sur la version 7 de JBoss EAP.

La 6ème journée est indiquée pour le passage de l'examen de certification car il se passe ultérieurement. Il faut donc prévoir une journée complémentaire à l'issue de la formation pour le passer. L'examen se planifie sur le site Red Hat directement.

Tarif

A partir de 2 835,00 €

Durée

5j / 35h

Modes
  • Centre
  • Entreprise

Objectifs de la formation

Cette formation Hibernate, objets Java vous donne les connaissances et compétences nécessaires pour :

  • Comprendre le rôle de l'API standard JPA pour la gestion des données relationnelles dans un programme Java
  • Comprendre l'architecture d'Hibernate
  • Savoir mettre en oeuvre les correspondances (« mapping ») Java/Hibernate (identités, héritage, associations)
  • Savoir effectuer des requêtes sur les objets
  • Savoir gérer les transactions (verrou, concurrence, ...)
  • Savoir gérer des cas complexes
Tarif

A partir de 1 870,00 €

Durée

3j / 21h

Modes
  • Centre
  • Entreprise
  • Distance

Objectifs de la formation

Concrètement, cette formation Architecture SI, vous donne les connaissances et compétences nécessaires pour :

  • Mesurer concrètement les apports des nouvelles applications SI
  • Être capable d'évaluer l'accroissement de la complexité des applications
  • Prendre conscience des avancées en ingénierie à base de composants distribués
  • Savoir identifier les bonnes pratiques en termes de développement
Tarif

A partir de 2 690,00 €

Durée

3j / 21h

Modes
  • Centre
  • Entreprise
  • Distance

Objectifs de la formation

Concrètement, à l'issue de cette formation Liferay Développeur, vous aurez acquis les connaissances et compétences nécessaires pour :

  • Comprendre l’architecture et l’écosystème Liferay
  • Installer, configurer et patcher un portail Liferay
  • Développer ses propres portlets, hooks et thèmes
  • Mettre en place les bonnes pratiques
Tarif

A partir de 1 990,00 €

Durée

3j / 21h

Modes
  • Centre
  • Entreprise
  • Distance

Formation Développer des EJB 3

Proposé par PLB CONSULTANT

Objectifs de la formation

L'architecture EJB 3 a gommé tous les défauts des EJB2.x. Les EJBs session ou MDB sont devenus les composants les plus naturels pour implémenter les services métier d'une application et sont particulièrement adaptés aux architectures en cluster. Du côté de la persistance, JPA et les classes entités ont radicalement transformé les activités de développement d'applications Java en fournissant une abstraction complètement objet au modèle de persistance. Grâce aux nombreux ateliers réalisés durant ce cours, vous maîtriserez le développement d'EJB 3 et leur intégration dans une application d'entreprise. Cette formation EJB s'appuie sur les produits phares dans le monde de l'Open Source : les IDEs Eclipse et IntelijIDEA, ainsi que les serveurs applicatifs Wildfly et/ou GlassFish.

Tarif

A partir de 1 790,00 €

Durée

3j / 21h

Modes
  • Centre
  • Entreprise
  • Distance

Objectifs de la formation

  • Utiliser le langage Swift
  • Identifier les architectures techniques d'un iPhone et d'un iPad
  • Utiliser les outils de développement Apple
  • Construire une application professionnelle iOS performante
  • Rendre une application adaptable aux différentes tailles d'écrans
  • Installer, configurer et utiliser des bibliothèques
Tarif

A partir de 1 390,00 €

Durée

4j / 28h

Modes
  • Centre
  • Entreprise
  • Distance

Java - Développement web services

Proposé par CIT FORMATION INFORMATIQUE

Objectifs de la formation

  • Savoir développer des applications utilisant les techniques des Web services
Tarif

Contacter l'organisme

Durée

3 jour(s)

Modes
  • Entreprise
  • Distance
  • Centre

Objectifs de la formation

  • Décrire l'architecture multicouche et l'intérêt des frameworks ;
  • Décrire les problématiques liées à la production et au déploiement des applications, et identifier les intérêts de l'intégration continue ;
  • Installer un environnement de production/construction Gradle ;
  • Créer un projet Gradle Java en ligne de commande et avec l'IDE Eclipse ;
  • Décrire l'architecture et le fonctionnement de l'API de persistance JPA ;
  • Réaliser les mappings entre les classes Java et les tables de bases de données ;
  • Manipuler les instances d'objets persistants avec l'API JPA ;
  • Identifier les apports et décrire les mécanismes d'injection de dépendances ;
  • Configurer Spring à travers le fichier XML et utiliser les annotations spécifiques ;
  • Implémenter la couche d'accès aux données avec Spring JDBC et Spring ORM ;
  • Construire et expoloiter les données de formulaires de saisie avec Spring MVC ;
  • Utiliser un Web Service REST dans un environnement Spring avec Spring REST ;
  • Configurer Tomcat pour un accès HTTPS et sécuriser l'accès aux applications Web grâce à l'authentification basée sur les rôles.
Tarif

A partir de 990,00 €

Durée

37 heures

Modes
  • Distance

Objectifs de la formation

Plus concrètement, à l'issue de cette formation Liferay 6.2 Administrateur, vous aurez acquis les connaissances et les compétences nécessaires pour :

  • Installer la solution
  • Déployer des contenus
  • Configurer les éléments qui composent l’architecture liferay pour la haute disponibilité
  • Gérer l’administration du portail
  • Gérer les performances
  • Gérer les incidents
Tarif

A partir de 1 480,00 €

Durée

2j / 14h

Modes
  • Centre
  • Entreprise
  • Distance

Objectifs de la formation

  • Comprendre l'architecture du framework Xamarin
  • Comprendre les architectures mobiles multiplateformes
  • Maîtriser les éléments de base de la programmation mobile pour iOS et Android
  • Savoir développer une application mobile multiplateformes de bout en bout (iOS, Android)
  • Savoir tester une application.
Tarif

A partir de 2 590,00 €

Durée

5j / 35h

Modes
  • Centre
  • Entreprise
  • Distance

Je cherche à faire...