Formations JAVA/JEE

Java, optimisation

Objectifs de la formation

  • 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


Programme de la formation

Méthodologie et outils pour l'optimisation

  • Les éléments impliqués dans l'optimisation.
  • Les éléments de la méthodologie.
  • Outils de profilage, de tests et d'aide.

Travaux pratiques

Utilisation d’un outil de profilage (VisualVM ou JFR) et d’un outil de tests unitaires (JUnit).

L'optimisation et le langage

  • Les différents modes d’exécution et de compilation.
  • Les types, les instructions, les méthodes.
  • La manipulation des chaînes de caractères.

Travaux pratiques

Amélioration des performances de l'application témoin.

L'optimisation et la gestion de la mémoire

  • La gestion des objets (la création, la copie).
  • Le choix des GC (les algorithmes, le paramétrage, la visualisation de l’activité).
  • La saturation mémoire (les causes, le diagnostic, les solutions).

Travaux pratiques

Amélioration des performances de l'application témoin par une meilleure gestion des objets. Utilisation d'outils de visualisation de la mémoire (VisualVM, MAT), de l'activité du GC (Visual GC).

L'optimisation et les librairies standards

  • Les classes collections.

Travaux pratiques

Amélioration des performances de l'application témoin par une meilleure manipulation des strings et des collections.

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.
  • L'optimisation spécifique aux IO réseaux.

Travaux pratiques

Amélioration des performances de l'application témoin par une meilleure gestion des IO.

L'optimisation et le multithreading

  • Le multithread en Java (les principaux concepts, les différents packages).
  • Le parallélisme versus la concurrence : leur impact sur les performances.
  • Quelques solutions d’optimisation.

Travaux pratiques

Amélioration des performances de l'application témoin par l’introduction de threads.

Please login to get access to the quiz
Développer avec les frameworks Java/Java EE (Prev Lesson)
Back to Formations JAVA/JEE
Public

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

Pré-requis

Bonnes connaissances du langage Java. Expérience requise en programmation Java.

Sur le même thème