Formations informatiques à Grenoble et Sophia Antipolis

Formation JAVA Optimisations de code Java

Objectifs

Identifier les principes de fonctionnement d’une JVM.

Développer et démarrer un agent JVMTI.

Appliquer des "Guide Lines" de programmation pour optimiser les performances.

Déterminer le fonctionnement du Garbage Collector et ses évolutions.

Recycler les ressources de la JVM et optimiser les applications multithreadées.

Utiliser des outils graphiques de monitoring et de profiling Java.

Pré-requis

Connaissance des bases du langage Java.

Participants

Tous développeurs Java, et plus particulièrement ceux spécialisés dans le développement d'applications critiques, temps réel ou fonctionnant en environnement embarqués.

Programme de formation

JAVA Optimisations de code Java

QUELQUES RAPPELS FONDAMENTAUX

  1. L'environnement J2SE (Java 2 Standard Edition)

    • Concepts fondamentaux (ClassLoader, JIT, GC, Gestionnaire d'exceptions...)
    • JVMPI (Java Virtual Machine Profiling Interface)
    • Quelques outils du J2SE (javap...)
  2. 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
  3. Quelques considérations sur les performances

    • Temps d'exécution VS taille de l'exécutable
    • Génie logiciel VS Performances

DÉVELOPPEMENT D'AGENTS JVMTI

  1. Concepts fondamentaux de JVMTI

    • Les différentes versions l'interface JVMTI
    • Les évènements JVMTI
  2. 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

  1. Utiliser correctement les Logger

    • Log4J...
  2. Fonctionnement de l'instruction switch

  3. Limitation d'instances temporaires

  4. Utiliser correctement les chaînes de caractères

  5. Utilisation des collections Java

    • Choisir les bons algorithmes face aux besoins
    • Collection synchronisées ou non (Vector vs ArrayList...)
    • Les différentes techniques de parcours d'une collection
    • Problèmatiques de l'autoboxing et du unboxing
  6. Utilisation de tableaux Java typés

    • Accès indexés aux valeurs
    • Traitements des valeurs de types primitifs
  7. Encapsulation VS performance

LE GARBAGE COLLECTOR (GC)

  1. Aspects fondamentaux

    • Tâches du garbage collector : libération et défragmentation
    • Les différents algorithmes utilisés
  2. Fonctionnement du Garbage Collector de la JVM Hotspot (Oracle)

    • Monitorer l'activité du GC
    • Collectes mineures et collectes majeures
  3. Comparaison Hotspot/OpenJ9

  4. 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
  5. Les évolutions du GC au fil des versions de Java

RECYCLONS LES RESSOURCES DE LA JVM

  1. Utilisation d'un pool d'instances

    • Implémentation d'un pool d'instances
    • Utilisation d'un pool d'instances
    • Etude du comportement du GC via un agent JVMTI
  2. Applications multithreadées

    • Monitoring via JVMTI sur l'utilisation des threads
    • Le package java.util.concurrent
    • Utilisation de pool de threads
    • Gestion de la synchronisation de vos threads
  3. SoftReferences et WeakReferences

OUTILS GRAPHIQUES DE MONITORING ET DE PROFILING

  1. La JConsole

    • Présentation du modèle JMX (Java Monitoring eXtensions)
    • Lancement et attachement de la Jconsole
    • Les différentes catégories d'informations collectées
  2. Visual GC et GC Viewer

    • Les différences entre les deux outils
    • Analyses poussées de l'activité du GC
  3. Java VisualVM

    • Présentation de l'outil
    • Profilling de type CPU
    • Profilling de typer Memory
  4. Autres outils de profilage

    • Utilisation du plugin Eclipse Memory Analyser Tool
Durée
3 jours
Lieux
Meylan Moirans Sophia Dans vos locaux Classe distancielle
Groupe de 8 personnes maximum
Demandez un devis
Cette thématique vous intéresse ?
Nos experts conçoivent votre formation sur-mesure On adore les moutons à 5 pattes !
Formations dans la même thématique