Toutes nos formations sont désormais disponibles en "Live Virtual classes". Contactez-nous pour plus d’informations : formation@oxiane.luToutes nos formations sont désormais disponibles en "Live Virtual classes". Contactez-nous pour plus d’informations : formation@oxiane.lu

Java Optimisation

Accueil » Formations » Java Optimisation

Java

Les applications Java, comme toute autre application informatique, souffrent généralement de problèmes de performance, souvent détectés tardivement.
Il n'est pas toujours possible de se reposer sur les exploitants en augmentant les capacités de l'infrastructure (bien que ce soit parfois une solution plus rapide et économique).
Il faut alors demander aux développeurs de replonger dans leur code pour l'optimiser.
Encore faut-il avoir une démarche et des outils pour comprendre ce qu'il faut optimiser et savoir comment le faire.

2050 € HT 3 jours JA-OPT

Maîtriser le développement d'applications java performantes et robustes

Programme

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 ramasses-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