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

Formation AirTable

Proposé par Sparks

Objectifs de la formation

  • Connaître les principes de base d’AirTable en No Code/Low Code
  • Comprendre les différentes structures de bases de données
  • Mettre en oeuvre des automatisations et des flux de travail efficaces
  • Intégrer AirTable avec d’autres outils et applications
  • Résoudre les problèmes courants liés à la gestion de bases de données
Tarif

A partir de 1 200,00 €

Durée

2 jours

Modes
  • Centre
  • Entreprise
  • Distance

Objectifs de la formation

  • Installer une plateforme d’exécution et de développement pour PHP.
  • Implémenter des algorithmes simple avec le langage PHP.
  • Mettre en oeuvre la programmation objet en PHP.
  • Créer et traiter des formulaires.
  • Suivre la navigation utilisateur avec les données de la requête HTTP et les sessions.
  • Accéder à des bases de données relationnelles.
  • Développer et tester des services REST en PHP.
Tarif

A partir de 990,00 €

Durée

37 heures

Modes
  • Distance

Objectifs de la formation

Cette formation Jboss cluster est un cours avancé qui s'adresse à des développeurs ou des exploitants d'application Java EE désireux de mettre en place des architectures en cluster avec JBoss. Les différfents types de réplication sont abordés et à chaque fois une mise en pratique par l'intermédiaire d'atelier permet aux stagiaires d'appréhender toutes les problématiques liées aux applications critiques nécessitant de hauts niveaux de disponibilités.

Tarif

Contacter l'organisme

Durée

3j / 21h

Modes
  • Centre
  • Entreprise
  • Distance

Objectifs de la formation

Cette formation Administration Discoverer vous apporte les connaissances nécessaires pour :

  • Analyser des données relationnelles
  • Créer un environnement personnalisé dédié aux utilisateurs finaux.
Tarif

Contacter l'organisme

Durée

3j / 21h

Modes
  • Centre
  • Entreprise
  • Distance

Objectifs de la formation

  • Pendant la formation, le formateur évalue la progression pédagogique des participants via des QCM, des mises en situation et des travaux pratiques. Les participants passent un test de positionnement avant et après la formation pour valider leurs compétences acquises.
Tarif

Contacter l'organisme

Durée

5 jours (35 heures)

Modes
  • Entreprise
  • Distance
  • Centre

Objectifs de la formation

  • Découvrir les bases de la programmation en Java
  • S'approprier les principaux concepts de développement
  • Gérer les exceptions
  • Connaître les bonnes pratiques pour manipuler des données
  • S'initier à la programmation graphique
Tarif

A partir de 1 800,00 €

Durée

3 jours

Modes
  • Centre
  • Entreprise
  • Distance

Objectifs de la formation

  • Analyser des problèmes simples et identifier des solutions algorithmiques
  • Créer des algorithmes basiques en utilisant des structures de contrôle standard : séquence, sélection, et itération
  • Traduire des algorithmes en code en utilisant un langage de programmation basique
  • Tester et déboguer des algorithmes
Tarif

A partir de 1 800,00 €

Durée

3 jours

Modes
  • Centre
  • Entreprise
  • Distance

Objectifs de la formation

  • Utiliser word pour des applications professionnelles complexes
  • Créer des tableaux et graphiques dynamiques et interactifs
  • Réaliser des présentations professionnelles et impactantes
Tarif

A partir de 1 390,00 €

Durée

3j / 21h

Modes
  • Centre
  • Entreprise
  • Distance

Illustrator - Perfectionnement

Proposé par CIT FORMATION INFORMATIQUE

Objectifs de la formation

Toute personne souhaitant maîtriser les fonctions avancées du logiciel Illustrator pour concevoir des illustrations complexes.

Possibilité de passage de la certification TOSA en fin de formation.

À l'issue de la formation, le stagiaire sera capable de :

  • Créer des illustrations complexes
  • Maîtriser la vectorisation sur Illustrator
  • Travailler des illustrations en 3D
Tarif

A partir de 700,00 €

Durée

2 jour(s)

Modes
  • Entreprise
  • Distance
  • Centre

Objectifs de la formation

  • Ingérer, nettoyer et transformer des données
  • Intégrer des données de modèle pour les performances et l’évolutivité
  • Concevoir et créer des rapports pour l’analyse des données
  • Appliquer et effectuer des analyses de rapports avancées
  • Gérer et partager les ressources de rapport
  • Créer des rapports paginés dans Power BI
Tarif

A partir de 1 950,00 €

Durée

3 jours

Modes
  • Centre
  • Entreprise
  • Distance

Je cherche à faire...