Java Optimisation

Améliorer la performance de ses applications Java

  • Filière :

    Développement logiciel

  • Sous-filière :

    Java & XML

  • Référence

    JA-OPT

  • Durée

    3 jours (21 h)

  • Prix par personne HT

    2 250 € HT

Objectifs pédagogiques

  • Appliquer une démarche d’optimisation
  • Comprendre le fonctionnement de la machine virtuelle (JVM)
  • Connaître et savoir utiliser les outils d’audit et de mesure
  • Repérer les fuites mémoire
  • Comprendre la problématique des applications multi-thread, détecter (ou éviter) les erreurs

Public cible

  • Architectes
  • Consultants
  • Développeurs
  • Ingenieurs

Pré-requis

Bonne pratique de Java

Programme de la formation

La performance

  •   Définition
  •   La performance pour tous
  •   Les éléments composant la performance
  •   La performance perçue
  •   La performance au démarrage
  •   Impact dans les couches d’une application
  •   Performance et architecture
  •   La notation « grand O »

Le processus d’optimisation

  •   Analyser
  •   Coder
  •   Mesurer pour vérifier

Benchmarking

  •   Mesure de temps
  •   Les pièges
  •   Le benchmarking
  •   Les microbenchmarks
  •   JMH
  •   Recommandations

Les outils

  •   Profiling
  •   JVisualVM
  •   Eclipse MAT
  •   SoapUI
  •   JMeter

Les principaux soucis de performance

  •   Les bottlenecks
  •   Les origines

L’utilisation efficace des API

  •   API Collections
  •   L’utilisation des wrappers
  •   La méthode hashCode()

Gérer les entrées sorties

  •   L’utilisation des classes à bon escient
  •   La sérialisation
  •   La sérialisation personnalisée
  •   Les échanges réseau

Les accès à la base de données

  •   Nombre excessif de requêtes
  •   Mauvaise configuration de la persistance
  •   Lectures de données importantes et/ou superflues
  •   Configuration du pool de connexions

La gestion de la mémoire

  •   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
  •   Optimiser les instanciations

Parallélisation

  •   Les apports de la parallélisation
  •   La mise en œuvre
  •   Les API
  •   Le framework Fork/Join
  •   Race condition et contention
  •   Les deadlocks
  •   Obtenir et exploiter un threaddump
  •   Les streams parallèles

Les légendes urbaines

  •   Java est lent
  •   La concaténation de chaînes
  •   Augmenter la taille du heap
  •   Le cache comme LA solution
  •   64 bits vs 32 bits

L’importance  de la JVM et de la version de Java

  •   Choisir la JVM
  •   Configurer la JVM
  •   La version de Java utilisée

La performance n’est pas que technique

  •   Les raisons non techniques des mauvaises performances
  •   Prise en compte dans le SDLC (Software Development Live cycle)
  •   Mesurer la performance en continue
  •   Monitoring

Qualité

Cette formation est accessible aux personnes en situation de handicap, nous contacter en cas de besoin d’informations complémentaires.

Programme mis à jour le