PERFORMANCE ET GESTION DE LA MÉMOIRE JAVA

Date

27/02/2019

}

Heure

19:15

lieu

Invivoo

inscription

Contact

Présentation

Java est un langage très utilisé dans les entreprises pour faire des serveurs web ou pour effectuer des traitements lourds. Contrairement à d’autres langages comme le C++, un programme Java s’exécute au sein d’une machine virtuelle (la JVM) qui s’occupe automatiquement d’allouer et de libérer la mémoire.

Les problèmes de performance apparaissent quasi-systématiquement lorsqu’une application devient plus importante (en utilisateurs, en quantité de données, en taille de données, etc…).  Lorsque ces problèmes arrivent, il faut se poser plusieurs questions :

 

  • Quels sont les modules / classes / objets qui posent problème ?
  • Mon code est-il optimal ?
  • Y a-t-il des fuites de mémoire ?
  • Y a-t-il de meilleurs moyens pour que les traitements soient plus rapides et efficaces ?
  • Comment monitorer mes performances et trouver les problèmes ?
  • Comment paramétrer ma JVM pour que ça marche mieux ?

Programme

1. Comprendre l’utilisation mémoire en Java

La JVM

  • Les différentes zones de la mémoire Java
  • Le fonctionnement du garbage collector
  • La mémoire des types primitifs et d’un objetJava
  • Outils pour monitorer la mémoire et détecter les problèmes
  • ThreadDump et analyse
  • Les différents algorithmes de garbage collector
  • Les exceptions dues à des problèmes mémoires
2. Paramétrer la JVM et optimiser son code

Les paramètres de la JVM pour :

  • Choisir son algorithme de garbage collector
  • Dimensionner la taille des zones mémoires
  • Obtenir des informations
  • Contourner les problèmes

Coder une application Java performante :

  • Choisir la bonne architecture applicative
  • Multithreading: optimiser les traitements qui peuvent se faire en parallèle
  • Les classes à éviter et celles à connaître
  • Les bonnes pratiques pour utiliser moins de mémoire

Que vais-je apprendre ?

  • Comprendre le fonctionnement du garbage collector
  • Calculer sa consommation mémoire
  • Utiliser un profiler comme JVisualVM
  • Analyser un threadDump
  • Choisir son algorithme de garbage collector
  • Paramétrer la JVM en fonction de mon application
  • Utiliser les bonnes classes pour consommer moins de mémoire
  • De nombreux conseils pour utiliser moins de mémoire

Pré-requis :

Connaissance du langage java

Fabien Demazeau

Fabien Demazeau

Manager - Expertise Big Data

Diplômé en 2003 de l’Ecole des Mines de Nantes, Fabien débute sa carrière chez un éditeur de logiciels en tant que développeur Java. Il participe avec succès à la création de plusieurs logiciels utilisés par les plus grandes banques françaises.

En Février 2017, il rejoint INVIVOO et intervient à la Société Générale en tant que technical leader d’une équipe de 8 développeurs chargés du stockage et de la distribution des analyses de risques.

Fin 2018, Fabien relève un nouveau défi en devenant Manager de l’Expertise Big Data dans le cadre du programme Grow Together. Depuis début 2019, il intervient à la Société Générale en tant que développeur sur un projet Big Data sur Hadoop.

Olivier C

Olivier C

Consultant Senior - Expertise Java

Chez Invivoo depuis 2007, Olivier est diplômé de l’ESSI à Sophia Antipolis (devenue Polytech’Nice depuis), et a pu tester au cours de missions longues les systèmes complexes des plus grandes banques d’investissement françaises : EAI et communication entre de multiples applications chez CACIB, calcul distribué et gestions de parcs de VM chez SGCIB, puis chez BNP (avec mise à jour technique et passage à Java 8 et JavaFX), et actuellement à Natixis pour du calcul de risque (toujours en Java 8).

C’est tout naturellement qu’il est, depuis 2017, Consultant Senior de l’Expertise Programmation Java dans le cadre du programme Grow Together.

inscription

JAVA: Perf & gestion mémoire

informations pratiques

}

durée

2x2h

Niveau

Initiation, perfectionnement

v

Langue

Français

Sessions

27/02/2019
07/03/2019