• slide-formation

Formation Optimisation et Profiling des applications JAVA

 

Cette formation Java « Profiling et Optimisation » de 3 jours, est destinée à des développeurs ayant une bonne connaissance du langage Java. Elle permet d'acquérir les compétences nécessaires pour monitorer et profiler les applications Java tout en explicitant les techniques permettant de les optimiser. Le stage commence par rappeler les concepts fondamentaux du langage (gestion de la mémoire, mécanisme d'exécution, chargement de classes) ainsi que l'approche méthodologique nécessaire pour les phases d'optimisation. Ensuite, le stage met en évidence via de petits ateliers les impacts de l'algorithmie sur les performances, les techniques classiques d'optimisation sont alors présentées. Les autres parties du stage se concentrent sur les outils utilisés pour le profiling : outils standards de la distribution, outils commerciaux ou libre et enfin les API Java permettant de mettre en place ses propres outils de monitoring ou profiling.

Introduction

L'optimisation de performanceVocabulaire, MéthodologieTechniques d'améliorationMise en place de benchmarkClassification des outilsProblèmes liés à la performanceL'environnement Java SEConcepts fondamentaux : JVM, Zones mémoires, ClassLoader, JIT, GC, Gestionnaire d'exceptions, ... Byte-code et désassemblageOptions de la JVM,Outil fournis par la distributionJVMTI (Java Virtual Machine Tools Interface) 

Le ramasse miettes

Aspects fondamentauxTâches du garbage collector : libération et défragmentation Collectes mineures et collectes majeuresLes différents algorithmes utilisés Monitorer l'activité du GC Tuning et paramétrage du GCGestion de la taille des Heap (-Xmx, -Xms, XX:NewRatio, -XX:SurvivorRatio, ...) Libération incrémentale des ressources Utilisation multi-threadées du garbage collector

Bonnes pratiques

GénéralitésLimitation d'instances temporaires, boucles et récursivitéUtilisation des chaînes de caractèresFonctionnement de l'instruction switchExceptions et stacktraceGestion des I/O, Bufferisation, le package java.nioLes collections et tableauxChoisir les bons algorithmes et les bonnes implémentationsCollection synchronisées ou non (Vector vs ArrayList, ...) Les différentes techniques de parcours d'une collection Utilisation des tableaux Java typés , Accès indexés aux valeurs Traitements des valeurs de types primitifsCoût des allocations/désallocationsRéutilisation d'instanceImplémentation et utilisation d'un pool d'instances Pattern singleton du ThreadLocalLes Weak referencesApplications multithreadéesCas d'usage des threads, les problèmes de synchronisationMonitoring via JVMTI sur l'utilisation des threads Le package java.util.concurrent Utilisation de pool de threadsAtelier :Petits ateliers permettant d'identifier les goulots d'étranglement et d'appliquer les techniques d'optimisation présentées

Support de Java SE pour le monitoring et le profiling

Présentation des différentes commandes en lignes (jps, jmap, ...)Introduction et rappel sur JMXLes MXBeans standardsLa JConsole, monitoring local ou distant, extensibilité, Mbeans applicatifsJava Visual VM : monitoring, profiling d'applications, accès local ou remoteAtelier :Profiling d'une application de gestion des contacts avec JProfiler

Outils de profiling

IntroductionPanorama des outils disponibles (Netbeans Profiler, Yourkit, Java Mission Control, etc.)Outils connexes au profiling, simulateur de charge, benchmarking Exemple de Netbean profilerPrésentationMonitoringProfiling CPU Profiling MemoireAutres fonctionnalités proposéesFonctionnement avec JMeterAteliers réalisés avec le profiler de votre choix (Netbeans, Yourkit, etc.) :1. Découverte des fonctionnalités du profiler
2. Diagnostic de problèmes sur une application web complète

Développement de ses propre profilers

L'API JMXAccès locauxAccès distantsConcepts fondamentaux de JVMTILes différentes versions l'interface JVMTI Les événements JVMTICodage d'agents JVMTITraquer l'activité du ClassLoader Traquer l'activité en termes d'allocations dynamiques Traquer l'activité en termes d'appels de méthodesAtelier :1. Développement de programmes monitorant des applications via JMX2. Développement d'un agent JVMTI traçant les appels de méthodes

bouton un devis softway tunisie

Pour plus d’informations contactez-nous :

MAIL  commercial@softway.com.tn 

call icon md Tél : 216 71.770.508 / +216 71.771.501 / +216 71.772.508

Powered by Amazing-Templates.com 2014 - All Rights Reserved.