Tél : +352 27 39 351 Fax : +352 27 39 52 68 Email : [email protected] 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 ) Public Architectes Consultants Developpeurs Ingénieurs Pré-requis Bonne 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) Gérer les accès concurrents ● ● ● ● Les outils ● ● ● ● ● ● Mesure de temps et d’allocation JUnit JMeter Eclipse TPTP visualvm Eclipse MAT ● ● © OXiane Luxembourg 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 ● ● ● ● 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 ● 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 -1/2- 25.05.2017 Tél : +352 27 39 351 Fax : +352 27 39 52 68 Email : [email protected] Modalités ● ● ● ● Type d’action :Acquisition des connaissances Moyens de la formation :Formation présentielle – 1 poste par stagiaire – 1 vidéo projecteur – Support de cours fourni à chaque stagiaire Modalités pédagogiques :Exposés – Cas pratiques – Synthèse Validation :Exercices de validation – Attestation de stages © OXiane Luxembourg -2/2- 25.05.2017