Tél : +352 27 39 351
Fax : +352 27 39 52 68
Java Optimisations
Maîtriser le développement d’applications java performantes et robustes
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.
Détails
Code : JA-OPT
●
Durée : 2 jours ( 14 heures )
●
PublicArchitectes
●
Consultants
●
Developpeurs
●
Ingénieurs
●
Pré-requisBonne pratique de Java
●
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
●
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
●
© OXiane Luxembourg - 1 / 2 - 25.05.2017