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

  • Décrypter toute l’actualité relative aux achats responsables
  • Bénéficier des outils pour adapter vos pratiques aux nouvelles réglementations
  • Adopter les bons réflexes pour mettre en œuvre une politique achat responsable
Tarif

A partir de 1 020,00 €

Durée

1 jour 7 heures

Modes

Objectifs de la formation

  • Cette formation fait l'objet d'une évaluation formative.
Tarif

Contacter l'organisme

Durée

3 jours (21 heures)

Modes
  • Distance
  • Centre

Objectifs de la formation

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

  • Connaître le fonctionnement d’un système de contrôle de versions distribué
  • Savoir installer et connaître les commandes de bases de Git
  • Être capable d’organiser son équipe de développement et un projet autour de Git
  • Savoir créer et initialiser un dépôt Git
  • Connaître les workflows et les rôles relatifs à la gestion des sources d’un projet
  • Comprendre comment gérer et organiser les fichiers et les branches Git
Tarif

A partir de 1 480,00 €

Durée

2j / 14h

Modes
  • Centre
  • Entreprise
  • Distance

Formation LabVIEW - Fondamentaux

Proposé par PLB CONSULTANT

Objectifs de la formation

À l’issue de cette formation LabVIEW, vous aurez acquis les connaissances et compétences nécessaires pour :

  • Naviguer dans l’interface LabVIEW
  • Créer des fonctions simples en LabVIEW (notions de VI)
  • Construire et organiser un développement sous LabVIEW
  • Piloter des cartes NI et des instruments programmables
Tarif

A partir de 1 690,00 €

Durée

3j / 21h

Modes
  • Centre
  • Entreprise
  • Distance

Objectifs de la formation

Concrétement à l'issue de cette formation Ingénierie DevOps sur AWS vous aurez acquis les connaissances et les compétences nécessaires : 

  • Utiliser les pratiques et concepts principaux de la méthodologie DevOps
  • Concevoir et mettre en place une infrastructure sur AWS, qui prenne en charge un ou plusieurs projets de développement DevOps
  • Utiliser AWS CloudFormation et AWS OpsWorks pour déployer l’infrastructure nécessaire à la création d’environnements de développement, de test et de production pour un projet de développement logiciel
  • Configurer Git sur AWS et découvrir l’éventail d’options permettant de mettre en place un environnement d’intégration continue sur AWS
  • Utiliser les principes essentiels de l’intégration et du déploiement continus
  • Mettre en œuvre plusieurs cas d’utilisation courants du déploiement continu à l’aide des technologies AWS, notamment le déploiement bleu/vert et les tests A/B
  • Faire la distinction entre les différentes technologies de déploiement d’applications disponibles sur AWS (notamment AWS CodeDeploy, AWS OpsWorks, AWS Elastic Beanstalk et Amazon EC2 Container Service) et décider laquelle correspond le mieux à un scénario donné
  • Ajuster précisément les applications que vous envoyez sur AWS pour bénéficier de hautes performances et utiliser les outils et technologies AWS pour vous surveiller le bon fonctionnement de votre application et de votre environnement.
Tarif

A partir de 2 450,00 €

Durée

3j / 21h

Modes
  • Centre
  • Entreprise
  • Distance

Objectifs de la formation

Le concept de "plateforme IoT" existe depuis quelques années dans l'univers des constructeurs, des éditeurs et des intégrateurs.

Le but de cette formation Programmation IoT est de mettre en place une chaîne IoT complète, depuis la remontée d'informations émises par des capteurs connectés LPWAN d'un réseau Internet des Objets jusqu'à la DataVisualization, en passant par la collecte Cloud/BigData et l'exploitation logicielle avec Java ou C++.

Cette formation vous permettra aussi évidemment de mieux comprendre l'architecture typique d'un réseau IoT.

Tarif

Contacter l'organisme

Durée

5j / 35h

Modes
  • Centre
  • Entreprise
  • Distance

Développement WinDev

Proposé par ENI Service

Objectifs de la formation

  • Maîtriser les différents éditeurs, écrire et tester des programmes WinDev, créer de manière ergonomique des écrans au standard Windows, définir une base de données Hyper File performante.
Tarif

Contacter l'organisme

Durée

5j / 35h

Modes
  • Centre
  • Entreprise
  • Distance

Objectifs de la formation

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

  • Aborder l'état de l'art des technologies Xnet et de leurs impacts sur les applications internet et intranet d'entreprise
  • Apporter une synthèse complète, structurée et didactique des connaissances indispensables en matière de technologies du Web
  • Analyser les domaines d'application et examiner les démarches pratiques de mise en oeuvre
Tarif

A partir de 2 390,00 €

Durée

3j / 21h

Modes
  • Centre
  • Entreprise
  • Distance

Objectifs de la formation

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

  • Connaître les spécificités du Big Data
  • Savoir mettre en œuvre les technologies relatives au Big Data
  • Comprendre et exploiter le Machine Learning
  • Pouvoir tirer partie de la visualisation des données
Tarif

A partir de 2 390,00 €

Durée

4j / 28h

Modes
  • Centre
  • Entreprise
  • Distance

L'audit développement durable

Proposé par GROUPE LEXOM

Objectifs de la formation

  • Réaliser l'implication des équipes
  • Se repérer dans les normes
Tarif

A partir de 1 390,00 €

Durée

2j / 14h

Modes
  • Centre
  • Entreprise
  • Distance

Je cherche à faire...