Formation Java Avancé, perfectionnement

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 Avancé, vous serez en mesure de :

  • 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

A partir de 2 490,00 €

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

PLB CONSULTANT


Informatique et Management
Voir la fiche

Tarif

A partir de 2 490,00 €

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

Description

Cette formation Java avancé permet aux personnes ayant suivi une première initiation à Java, d’approfondir leurs connaissances du langage afin d’intégrer directement une équipe projet.

La formation commence par détailler le fonctionnement de la JVM (Java Virtual Machine) afin que le développeur puisse diagnostiquer des problèmes de performances liés à la conception de son programme et à l'utilisation des objets Java. Vous apprendrez à concevoir une application multi-threadée, et à synchroniser ses threads, tout en évitant la corruption de données.

Vous apprendrez également à utiliser le langage Java dans le contexte des bases de données relationnelles avec l’API JDBC, ce qui apporte une dimension de projet professionnel à la formation. La manipulation avancée de fichiers/répertoires est également visitée avec les API Nio.2. Vous apprendrez la manipulation des expressions lambdas et la mise en œuvre de l'API Stream. Les modules sont une nouveauté importante de Java 11 que vous apprendrez à mettre en œuvre.

Programme

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

Cette formation Java avancé s’adresse à tout développeur possédant une connaissance du langage Java. La formation Java les fondamentaux (JJDC) est un prérequis idéal pour tirer pleinement profit de cette formation.

Public

Ce cours Java s’adresse aux développeurs et chefs de projet. Elle peut intéresser également ceux qui cherchent à rafraîchir des concepts vus lors d'une précédente formation Java suivie il y a plusieurs mois sans pratique ultérieure.

Ces formations pourraient vous intéresser

Objectifs de la formation

  • Approfondir la connaissance de la programmation orientée objet en Java
  • Maîtriser l'utilisation des bibliothèques Java standards
  • Comprendre et utiliser les principes de la programmation fonctionnelle en Java
  • Comprendre et utiliser les principes du développement d'applications Java EE
  • Apprendre à utiliser des outils de tests unitaires et d'intégration continue
  • Comprendre et utiliser des principes avancés de conception et d'architecture logi-cielle en Java
Tarif

A partir de 2 750,00 €

Durée

5 jours

Modes
  • Centre
  • Entreprise
  • Distance

Objectifs de la formation

Avec plus de deux milliards de téléphones portable et assistants personnels supportant Java ME,cette technologie est très présente sur le marché des systèmes informatiques personnels portables. A l'issue de cette formation Java ME, les participants maîtriseront l'architecture Java ME (CLDC/MIDP) et développeront des MIDLETS sur téléphone présentant tous les aspects traditionnellement liés avec ce type d'équipement : interfaces graphiques, gestion du stockage local, connexion réseau pour ne citer que les plus classiques

Tarif

Contacter l'organisme

Durée

4j / 28h

Modes
  • Centre
  • Entreprise
  • Distance

Objectifs de la formation

A l'issue de cette formation, vous serez capable de :

  • Installer et exécuter JBoss Enterprise Application Platform 7 en mode autonome et en tant que domaine géré
  • Configurer un nouveau sous-système de traitement par lots
  • Administrer le sous-système de messagerie HornetQ
  • Sécuriser des applications déployées sur JBoss EAP
  • Personnaliser la journalisation du serveur
  • Créer et gérer des connexions de sources de données aux bases de données
  • Gérer la mise en cluster de JBoss EAP.
Tarif

Contacter l'organisme

Durée

5j / 35h

Modes
  • Centre
  • Distance

Objectifs de la formation

À l’issue de cette formation Programmatic Development Apex and Visualforce, vous aurez acquis les compétences et connaissances nécessaires pour :

  • Créer et modifier des objets en utilisant l’interface déclarative
  • Concevoir des solutions qui utilisent les fonctions déclaratives
  • Utiliser les triggers et les classes Apex pour personnaliser une application. Ces personnalisations utilisent SOQL et DML
  • Décrire comment les triggers fonctionnent et dans quel ordre les opérations systèmes s'exécutent pendant la sauvegarde
  • Décrire les aspects fondamentaux pour créer des programmes sur une plateforme multi-tenante
  • Personnaliser l’interface utilisateur grâce à Visualforce
  • Utiliser l’outil de test intégré pour tester Visualforce et Apex.
Tarif

A partir de 3 625,00 €

Durée

5j / 35h

Modes
  • Centre
  • Entreprise
  • Distance

Talend – Niveau 2

Proposé par ENI Service

Objectifs de la formation

  • Maîtriser les composants avancés de Talend Open Studio ;
  • Fédérer son code pour gagner du temps ;
  • Debugger et déployer ses jobs ;
  • Étendre Talend Open Studio en créant ses propres composants.
Tarif

A partir de 1 590,00 €

Durée

2j / 14h

Modes
  • Centre
  • Entreprise
  • Distance

Objectifs de la formation

  • Appréhender l’intérêt des Design Patterns en conception logicielle
  • Concevoir une architecture logicielle solide en utilisant des modèles de conception éprouvés
  • Appliquer les Design Patterns en développement sur les différentes couches logicielles
  • Choisir les Design Patterns appropriés en fonction de la problématique posée
Tarif

A partir de 2 850,00 €

Durée

5j / 35h

Modes
  • Centre
  • Entreprise
  • Distance

Objectifs de la formation

  • Maîtriser les bonnes pratiques pour installer et configurer Jenkins
  • Savoir configurer des outils de build comme Maven, ANT, Gradle…
  • Installer et configurer des plugins
  • Paramétrer les fonctionnalités de reporting et de surveillance
  • Maintenir et optimiser Jenkins
Tarif

A partir de 1 400,00 €

Durée

2 jours

Modes
  • Centre
  • Entreprise
  • Distance

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

Formation Servlet-JSP

Proposé par Sparks

Objectifs de la formation

  • Apprendre à utiliser Servlet et JSP
  • Comprendre les Servlets, les filtres de requête et les JSP
  • Gérer efficacement les erreurs
  • Déployer des Servlets et des JSP
  • Connaître les bibliothèques standards de balises
  • Utiliser Design Patterns
Tarif

A partir de 2 200,00 €

Durée

4 jours

Modes
  • Centre
  • Entreprise
  • Distance

Objet Design Patterns

Proposé par M2I

Objectifs de la formation

A l'issue de cette formation, vous serez capable de :

  • Expliquer la philosophie des Design Patterns
  • Catégoriser les patterns
  • Reconnaître les principaux patterns
  • Transformer les patterns en code
  • Mettre en oeuvre les Design Patterns dans une architecture Web
  • Utiliser les outils d'IA pour intégrer des Design Patterns dans un projet.
Tarif

A partir de 1 680,00 €

Durée

3j / 21h

Modes
  • Centre
  • Distance

Je cherche à faire...