Page 1/3 - Optimisation du code Java - Mise à jour le 13/02/2013
Concepteur : ENI SERVICE – Diffuseur : Groupe ARKESYS
Optimisation du code Java
Référence : 19003-151119-7-JAV
Durée : X jour soit X heures
Filière : Développement
Stage disponible en mode « InClass »
Population visée :
Ouvrier – Employé – Employé qualifié – Cadre – Cadre
supérieur
Public concerné :
Toute personne en charge de programmes requérant
dans performances optimisées.…
PRÉ-REQUIS
• Afin de suivre ce cours, le stagiaire devra déjà connaître les bases du langage Java.
OBJECTIFS PEDAGOGIQUES
A l’issue de cette formation, l’apprenant sera capable de :
• la suite de la formation le stagiaire sera apte à évaluer la consommation des ressources engendrées par une
modélisation et par l'implémentation de cette dernière.
• L'étude des mécanismes de bas niveaux de la JVM permettra de mieux ressentir les différents concepts
présentés.
• Des outils graphiques de monitoring et de profiling d'applications Java seront de plus présentés.
OBJECTIFS OPERATIONNELS ET CONTENU DE LA FORMATION
Quelques rappels fondamentaux
• L'environnement J2SE (Java 2 Standard Edition)
Concepts fondamentaux : ClassLoader, JIT, GC, Gestionnaire d'exceptions, ...
JVMTI (Java Virtual Machine Tools Interface)
Quelques outils du J2SE : javap, ...
• Notion de byte code
Utilisation du désassembleur javap
Notions de pile et de tas (Stack & Heap)
Mécanisme de déclarations : variables locales et attributs
Appels de méthodes en assembleur
• Quelques considérations sur les performances
Temps d'exécution VS taille de l'exécutable
Génie logiciel VS Performances
Page 2/3 - Optimisation du code Java - Mise à jour le 13/02/2013
Concepteur : ENI SERVICE – Diffuseur : Groupe ARKESYS
Développement d'agents JVMTI
• Concepts fondamentaux de JVMTI
Les différentes versions l'interface JVMTI
Les évènements JVMTI
• Codage d'agents JVMTI
Traquer l'activité du ClassLoader
Traquer l'activité en termes d'allocations dynamiques
Traquer l'activité en termes d'appels de méthodes
• Guide lines" de programmation
• Encapsulation VS performance
Coût d'invocation de getter/setter
• Optimisation des temps de développement
• Fonctionnement de l'instruction switch
• Limitation d'instances temporaires
Utilisation des chaînes de caractères
• Utilisation des collections Java
Choisir les bons algorithmes
Collection synchronisées ou non (Vector vs ArrayList, ...)
Les différentes techniques de parcours d'une collection
• Utilisation de tableaux Java typés
Accès indexés aux valeurs
Traitements des valeurs de types primitifs
Le garbage collector (GC)
• Aspects fondamentaux
Tâches du garbage collector : libération et défragmentation
Les différents algorithmes utilisés
• Fonctionnement du Garbage Collector de la JVM Hotspot (Sun Microsystems)
Monitorer l'activité du GC
Collectes mineures et collectes majeures
Paramétrage du Garbage Collector de la JVM HotSpot
• Gestion de la taille des Heap (-Xmx, -Xms, -XX:NewRatio, -XX:SurvivorRatio, ...)
Libération incrémentale des ressources
Utilisation multi-threadées du garbage collector
Recyclons les ressources de la JVM
• Utilisation d'un pool d'instances
Implémentation d'un pool d'instances
Utilisation d'un pool d'instances
Étude du comportement du GC via un agent JVMPI
• Application multithreadées
Monitoring via JVMPI sur l'utilisation des threads
Le package java.util.concurrent
Utilisation de pool de threads
• SoftReferences et WeakReferences
Page 3/3 - Optimisation du code Java - Mise à jour le 13/02/2013
Concepteur : ENI SERVICE – Diffuseur : Groupe ARKESYS
Outils graphiques de monitoring et de profiling
• La JConsole
Présentation du modèle JMX (Java Monitoring eXtensions)
Démarrage d'une JVM supportant le monitoring
Lancement et attachement de la JConsole
Les différentes possibilités de la JConsole
• Java VisualVM
Présentation de l'outil
Profilling de type CPU
Profilling de type Memory
• TPTP (Test and Performance Tool Platform)
Rappel sur l'utilisation de plugin Eclipse
Présentation du plugin TPTP
Test de détection de fuite de mémoire
Mesure de performances d'une application Java
Taux de couverture de code
Méthodes et moyens :
• Explications théoriques suivies de pratiques guidées puis mises en autonomie
• Stage en mode « InClass » : 2 téléviseurs et 1 caméra HD par salle
• 1 vidéoprojecteur par salle
• 1 ordinateur par stagiaire
Méthodes d’évaluation des acquis :
• Exercices de synthèse et d’évaluation
• Evaluation de fin de stage
Profil formateur :
Nos formateurs sont certifiés à l’issue d’un parcours organisé par nos soins. Ils bénéficient d’un suivi de
compétences aussi bien au niveau technique que pédagogique.
Support stagiaire :
• Support papier ou électronique (dématérialisé)
• Les exercices d’accompagnement peuvent être récupérés sur clef USB
1 / 3 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans l'interface ou les textes ? Ou savez-vous comment améliorer l'interface utilisateur de StudyLib ? N'hésitez pas à envoyer vos suggestions. C'est très important pour nous!