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 Emplo 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 linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !