JA-OPT
Durée
- 2 jours
Objectifs
- Savoir 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
- Ingénieurs
- Architectes
Pré-requis
Tarif d'inscription
- 990 € H.T. par personne (déjeuner inclus)
Optimisations 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.
Thèmes
- Prochaine session : Du 11 au 12 octobre - Toutes les sessions
- Bulletin d'inscription
- Fiche imprimable
- Nous contacter : formation@oxiane.com (+33)1 55 60 76 72
Programme
La performance
- Introduction
- Vitesse de calcul
- Occupation mémoire
- Temps de démarrage
- Scalabilité
- Performance perçue
Le processus d'optimisation
- Reproduire et mesurer
- Analyser et décider (quand et quoi optimiser)
- Optimiser (codage vs conception)
- Vérifier (la non-régression et l'amélioration)
Les outils
- Mesure de temps et d'allocation
- JUnit
- JMeter
- Eclipse TPTP
- visualvm
- Eclipse MAT
Optimiser l'utilisation de la mémoire
- Comprendre le garbage collector et la gestion de la mémoire
- Choisir et configurer la JVM
- Optimiser l'utilisation de la mémoire
- Eviter les "fuites"
- Eviter les allocations inutiles
- Pool et autres patterns
- Utiliser les bonnes classes
- Contrôler les chargements de classes
Gérer les accès concurrents
- Définition d'un thread
- Comprendre la synchronisation des Threads
- Créer et manipuler les threads
- Synchroniser les threads sur un objet moniteur
- Exemple de temps réel
- Bonnes et mauvaises pratiques
Gérer les flux d'entrées/sorties
- Flux binaires, encodages, bufferisation
- Sérialisation/désérialisation d'objets
- Les modifieurs Java et leurs impacts
- Gestion de fichiers
- Gestion d'échanges réseau
