> Formations > Technologies numériques > Développement logiciel > Java, Java EE, Jakarta > Formation Java, optimisation (aspects CPU, mémoire) > Formations > Technologies numériques > Formation Java, optimisation (aspects CPU, mémoire)

Formation : Java, optimisation (aspects CPU, mémoire)

Développer des applications efficaces et fiables

Java, optimisation (aspects CPU, mémoire)

Développer des applications efficaces et fiables



Optimiser les performances des applications Java, en respectant certains patterns de programmation. Analyser certains mécanismes de la JVM qui contribuent à l’obtention de performances ainsi que les aspects spécifiques au multithread. Cette formation met l’accent sur les aspects CPU et gestion de la mémoire.


INTER
INTRA
SUR MESURE

Cours pratique en présentiel ou à distance
Disponible en anglais, à la demande

Réf. JOT
  4j - 28h00
Prix : 2440 € H.T.
Pauses-café et
déjeuners offerts




Optimiser les performances des applications Java, en respectant certains patterns de programmation. Analyser certains mécanismes de la JVM qui contribuent à l’obtention de performances ainsi que les aspects spécifiques au multithread. Cette formation met l’accent sur les aspects CPU et gestion de la mémoire.


Objectifs pédagogiques
À l’issue de la formation, le participant sera en mesure de :
Optimiser le code Java d'une application pour en améliorer les performances
Maîtriser les outils d'aide à l'optimisation
Optimiser le fonctionnement de la machine virtuelle
Optimiser l'utilisation des librairies standards
Optimiser l'usage du multithreading

Public concerné
Développeurs, ingénieurs, chefs de projets proches du développement.

Prérequis
Bonnes connaissances du langage Java. Expérience requise en programmation Java.
Vérifiez que vous avez les prérequis nécessaires pour profiter pleinement de cette formation en faisant  ce test.

Méthodes et moyens pédagogiques
Travaux pratiques
Les TPs de cette formation ne comportent pas de programmation mais consistent en l’utilisation d’outils et en analyse de code optimisé.
Méthodes pédagogiques
Vous vous familiariserez durant toute la session avec des outils d’aide à l’optimisation.

Modalités d'évaluation
Le formateur évalue la progression pédagogique du participant tout au long de la formation au moyen de QCM, mises en situation, travaux pratiques…
Le participant complète également un test de positionnement en amont et en aval pour valider les compétences acquises.

Programme de la formation

Méthodologie et outils pour l'optimisation

  • Les principes, les stratégies d’optimisation.
  • Les outils de profilage, de tests et d'aide.
  • Les éléments impliqués dans l'optimisation.
Travaux pratiques
Utilisation d’un outil de profilage (VisualVM ou JFR) et d’un outil de tests unitaires (JUnit).

Les caches

  • Le principe général des caches, les méthodes importantes.
  • Les principales collections utilisées comme caches.
Travaux pratiques
L’amélioration des performances de l'application témoin par l’introduction de caches. Utilisation d’un outil de profilage (VisualVM ou JFR).

L'optimisation et la gestion de la mémoire

  • La création, la copie d’objets, de tableaux (clone vs constructeurs de copie).
  • Les objets non modifiables, les objets non mutables, les pools d’objets.
  • Les différents GC (les algorithmes, le paramétrage, la visualisation de l’activité).
  • Les dumps mémoire, la saturation mémoire (les causes, le diagnostic, les solutions).
  • Les références faibles (soft, weak, phantom);
Travaux pratiques
L’amélioration des performances de l'application témoin par une meilleure gestion des objets. Utilisation d'un outil de visualisation de la mémoire (VisualVM) et de l'activité du GC (Visual GC).

L'optimisation et le multithread

  • Le parallélisme versus la concurrence.
  • Les principaux concepts : Runnable, Thread, Callable<T>, ExecutorService, …
  • L’impact du parallélisme et de la concurrence sur les performances.
  • Quelques solutions d’optimisation.
Travaux pratiques
L’amélioration des performances de l'application témoin par l’introduction de threads (la parallélisation et la gestion de la concurrence).

L'optimisation et le langage

  • Les différents modes d’exécution et de compilation.
  • L’utilisation optimale des types, des instructions, des méthodes.
  • Les lambda-expressions, les streams, …
  • La manipulation des chaînes de caractères.
Travaux pratiques
Amélioration des performances de l'application témoin.

L'optimisation et les I/O

  • La librairie nio. Les buffers, channels. Les sélecteurs et leur utilisation.
  • Le choix des bonnes classes de stream.
  • L'optimisation de la sérialisation.
Travaux pratiques
Amélioration des performances de l'application témoin par une meilleure gestion des IO.
Solutions de financement
Plusieurs solutions existent pour financer votre formation et dépendent de votre situation professionnelle.
Découvrez-les sur notre page Comment financer sa formation ou contactez votre conseiller formation.

Avis clients
4,1 / 5
Les avis clients sont issus des évaluations de fin de formation. La note est calculée à partir de l’ensemble des évaluations datant de moins de 12 mois. Seules celles avec un commentaire textuel sont affichées.
STÉPHANE C.
19/11/24
5 / 5

Très complet et très intéressant.
JÉRÉMY F.
24/09/24
4 / 5

Sujet assez intéressant meme si le sujet est très technique. Les explications sont claires et Francois maitrise parfaitement son sujet.Pour ma part je m’attendais a avoir des éléments sur les optimisations moins JVM et plus sur les interactions avec les bases de données ou web notamment.
BENOIT C.
24/09/24
4 / 5

Peu de TP, mais compenser par le fait que nous avons pu voir beaucoup plus de point.



Horaires
les cours ont lieu de 9h à 12h30 et de 14h à 17h30.
Les participants sont accueillis à partir de 8h45. Les pauses et déjeuners sont offerts.
Pour les stages pratiques de 4 ou 5 jours, quelle que soit la modalité, les sessions se terminent à 16h le dernier jour.

Dates et lieux
Sélectionnez votre lieu ou optez pour la classe à distance puis choisissez votre date.
Classe à distance

Dernières places
Date garantie en présentiel ou à distance
Session garantie