Java - Programmation avancée

Public admis

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

Financements

Eligible CPF Votre OPCO Financement personnel

Objectifs de la formation

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

  • Distinguer les aspects avancés du langage Java
  • Appliquer les principaux frameworks et librairies Java
  • Reconnaître le modèle de sécurité et le chargement des classes Java
  • Réaliser des traitements parallèles
  • Gérer les accès concurrentiels (avec les sémaphores)
  • Mettre en place du code Java implémentant la notion de "promesse"
  • Tester, debugger et optimiser vos applications
  • Identifier les nouveautés Java.

M2I


Un leadership dans le domaine de la formation
Voir la fiche entreprise

Tarif

A partir de 2 240,00 €

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

M2I


Un leadership dans le domaine de la formation
Voir la fiche

Tarif

A partir de 2 240,00 €

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

Programme

Jour 1 - Matin

Aspects avancés de Java

  • La programmation concurrente
  • Les concepts de la programmation multi-thread :
    • Le modèle d'activités de Java (Runnable et Thread)
  • La création / destruction des threads
  • Ordonnancement des threads
  • La synchronisation des threads
  • Le verrouillage des méthodes et des instructions (synchronized)
  • Les moniteurs
  • Quelques problèmes du multi-thread
    • L'interblocage (caractérisation, évitement, prévention, détection), la famine
  • Les extensions du modèle introduites dans Java 5 (Callable, Future, ExecutorService), les nouvelles collections
Exemple de travaux pratiques (à titre indicatif)
  • Construction d'une application multi-thread avec contraintes de concurrence

Jour 1 - Après-midi

Aspects avancés : la programmation réflexive

  • Le modèle Fork/Join
  • Les extensions avec CompletableFuture
  • Les divers outils de gestion de la concurrence :
    • Les verrous partagés / exclusifs
    • Les sémaphores
    • Les barrières cycliques
  • Les objectifs et les principes
  • La découverte dynamique des informations relatives à une classe ou à un objet
  • L'instanciation et l'invocation dynamique
Exemples de travaux pratiques (à titre indicatif)
  • Mise en pratique sur :
    • La programmation parallèle
    • Le CompletableFuture
    • Les sémaphores

Jour 2 - Matin

Implémentation d'un ClassLoader chargeant des classes

  • Rôle du compilateur Java
  • Rôle des ClassLoaders
  • Les différentes zones mémoires de la JVM (Java Virtual Machine) et leur gestion par le GC (Garbage Collector)
  • Hiérarchie des différents ClassLoaders
  • Vérification du Bytecode
  • Chargement dynamique de classe
  • Implémenter un ClassLoader
  • Manipulation des énumérations
Exemples de travaux pratiques (à titre indicatif)
  • Quelques exemples de chargement de classes et traitements des annotations personnalisées

Jour 2 - Après-midi

Les nouveautés du switch et Record

  • Switch expressions
  • Pattern Matching instanceof
  • Record (classe de données simplifiée pour DTO)
Exemple de travaux pratiques (à titre indicatif)
  • Mise en oeuvre des instructions Switch

Jour 3 - Matin

La console JShell Java

  • Principe REPL (Read-Eval-Print Loop)
  • Présentation de JShell Java
  • Fonctionnement interne de JShell
  • Utilisation de JShell (exemples)

Process API, HTTP2 API

  • L'interface ProcessHandle
  • Gestion des processus depuis Java 9
  • Présentation de HTTP2 Client
Exemples de travaux pratiques (à titre indicatif)
  • Programmation d'un cas d'école avec la console JShell
  • Mise en pratique d'un client HttpClient avec Java 9

Jour 3 - Après-midi

Tester ses applications en Java

  • Test Driven Development - Découvrir les grands principes du TDD
  • Cycle de développement du TDD
  • Les 3A : Arrange, Act, Assert
  • Remaniement de code : techniques de refactoring en TDD
  • Conception émergeante
  • Gestion des exceptions
  • Gestion des scénarios
  • JUnit - Savoir utiliser le framework JUnit pour implémenter des tests
  • Tests unitaires
Exemple de travaux pratiques (à titre indicatif)
  • Utilisation de JUnit

Jour 4 - Matin

D'autres nouveautés Java

  • Lambda fonctions
  • Streams et Streams parallèles
  • La gestion des modules
Exemple de travaux pratiques (à titre indicatif)
  • Développement d'une application utilisant les Lambdas, Streams et modules

Jour 4 - Après-midi

Le processus d'optimisation

  • Analyser
  • Coder
  • Mesurer pour vérifier
  • Les outils
  • Profiling
  • JVisualVM
  • Eclipse MAT
  • SoapUI
  • JMeter
Exemple de travaux pratiques (à titre indicatif)
  • Utilisation d'outils de profiling

Gestion mémoire et optimisation

  • L'organisation de la mémoire
  • Le ramasse-miettes
  • Le cycle de vie des objets
  • Configurer la mémoire et le GC
  • Mesure de la mémoire
  • Off Heap
  • La gestion de la mémoire et les performances
  • Les options de la JVM HotSpot pour le suivi de l'activité du GC
  • Fuite de mémoire
  • Fuite de ressources
  • Optimiser l'utilisation de la mémoire
  • Optimiser l'occupation mémoire
Exemple de travaux pratiques (à titre indicatif)
  • Utilisation des outils d'optimisation mémoire

Le contenu de ce programme peut faire l'objet d'adaptation selon les niveaux, prérequis et besoins des apprenants.

Modalités d’évaluation des acquis

  • En cours de formation, par des études de cas ou des travaux pratiques
  • Et, en fin de formation, par un questionnaire d'auto-évaluation

Prérequis

Avoir une connaissance pratique du langage Java ou avoir suivi le cours

Public

Développeurs, architectes et chefs de projets techniques.

Ces formations pourraient vous intéresser

Objectifs de la formation

  • Appliquer des techniques avancées pour évaluer les exigences, la portée et la faisabilité des projets
  • Développer des stratégies de leadership pour la gestion des équipes projet
  • Intégrer des techniques avancées de gestion des risques et de contrôle qualité
  • Optimiser les pratiques de gestion financière et de contrôle budgétaire des projets
  • Mettre en œuvre des stratégies avancées de résolution de problèmes et de prise de décision
Tarif

A partir de 3 000,00 €

Durée

4 jours

Modes
  • Centre
  • Entreprise
  • Distance

Objectifs de la formation

Découvrir les nouveautés et les fonctions avancées de la version BI4.3
Tarif

A partir de 1 575,00 €

Durée

3j / 21h

Modes
  • Centre
  • Entreprise
  • Distance

Objectifs de la formation

  • Revoir la programmation JavaScript
  • Comprendre comment TypeScript intègre les nouveautés portées par EcmaScript 6
  • Connaître les spécificités TypeScript
Tarif

A partir de 1 590,00 €

Durée

2j / 14h

Modes
  • Entreprise

Oracle 19c – Administration

Proposé par ENI Service

Objectifs de la formation

  • Installer un serveur Oracle
  • Utiliser les outils d'administration
  • Démarrer et arrêter un serveur Oracle
  • Créer une base de données
  • Gérer les fichiers de contrôle
  • Gérer les tablespaces et les fichiers de données
  • Gérer les utilisateurs, les rôles et les privilèges
  • Gérer les tables
  • Gérer les index Btree
  • Mettre en œuvre SQL*Loader
Tarif

A partir de 2 950,00 €

Durée

5j / 35h

Modes
  • Centre
  • Entreprise
  • Distance

Objectifs de la formation

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

Contacter l'organisme

Durée

5 jours (35 heures)

Modes
  • Centre
  • Distance

Objectifs de la formation

S'approprier les fonctionnalités de Canva - Réaliser rapidement des visuels à partir des modèles Canva - Imaginer, créer et respecter une charte graphique - Télécharger, imprimer via Canva - Partager, planifier une communication sur les réseaux/médias sociaux - Créer une équipe et gérer son interaction - Apprendre à réaliser une charte graphique complète avec Canva Pro, en utilisant les fonctionnalités avancées et les outils d'intelligence artificielle
Tarif

A partir de 2 275,00 €

Durée

5j / 35h

Modes
  • Centre
  • Entreprise
  • Distance

Objectifs de la formation

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

  • Structurer une narration graphique pour définir chaque scène d'un projet vidéo, film, motion design...
Tarif

A partir de 1 860,00 €

Durée

3j / 21h

Modes
  • Centre
  • Distance

Objectifs de la formation

  • Identifier les composants fondamentaux d'une application Shiny
  • Développer des interfaces utilisateurs et une logique serveur pour des applications Shiny basiques et avancées
  • Mettre en œuvre les principes de la programmation réactive dans les applications Shiny
  • Intégrer diverses techniques et outils de visualisation de données dans Shiny
  • S’approprier les meilleurs pratiques pour déployer des applications Shiny
Tarif

A partir de 3 000,00 €

Durée

4 jours

Modes
  • Centre
  • Entreprise
  • Distance

Objectifs de la formation

Savoir architecturer et concevoir des projets web JEE performants à  base de Servlets et de JSP - Mettre en place le pattern MVC
Tarif

A partir de 1 625,00 €

Durée

3j / 21h

Modes
  • Centre
  • Entreprise
  • Distance

Objectifs de la formation

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

  • Identifier les concepts de base de la programmation en Solidity
  • Concevoir, coder et déployer des contrats intelligents (smart contracts) en Solidity
  • Interpréter les types de données, les structures de contrôle et les fonctions en Solidity
  • Déployer et interagir avec des contrats intelligents sur la Blockchain Ethereum
  • Expliquer la sécurité des contrats intelligents et les bonnes pratiques de développement en Solidity
  • Concevoir, mettre en oeuvre et déployer une application Blockchain fonctionnelle.
Tarif

A partir de 2 850,00 €

Durée

3j / 21h

Modes
  • Centre
  • Distance

Je cherche à faire...