Organisme de Formation aux technologies et métiers de L'informatique
java

Formation Java, optimisation

développer des applications efficaces et fiables

Informations générales

JOT
4 jours (28h)
2 290 €HT
repas inclus

Objectifs

Après ce cours, vous serez capable de :

  • Optimiser le code Java d'une application pour en améliorer les performances
  • Maîtriser les outils d'aide à l'optimisation
  • Optimiser le fonctionnement de la machine virtuelle
  • Optimiser l'utilisation des librairies standards
  • Mettre en œuvre des Design Patterns significatifs

Public

Ce cours s'adresse avant tout aux personnes suivantes :

  • développeurs, ingénieurs
  • chefs de projets proches du développement

Prérequis

Pour suivre ce cours, vous devez déjà posséder les connaissances suivantes :

  • Bonnes connaissances du langage Java
  • Expérience requise en programmation Java

Programme de la formation

Vous découvrirez les spécificités de Java permettant d'améliorer les performances des applications. Vous étudierez l'optimisation de la JVM et du Garbage Collector, les bons usages de Java et de ses principales librairies. Vous verrez enfin les bonnes pratiques de conception au travers de quelques Design Patterns.

Méthodologie et outils pour l'optimisation

  • Les éléments impliqués dans l'optimisation.
  • Le choix d'un environnement d'exécution performant.
  • Les éléments de la méthodologie.
  • Outils de profiling et de visualisation de la mémoire. Outils de tests et d'aide (findBugs, CheckStyle...).
  • Le choix du compilateur et de la JVM.
  • Travaux pratiques   Utilisation des profilers hprof et jmp. Utilisation de JUnit. Profiling d'une application simple.

L'optimisation et le langage

  • Identifier les vraies sources d'inefficacité.
  • Connaître les bons usages qui les évitent.
  • L'optimisation et la gestion des objets, les évaluations, les tests.
  • Travaux pratiques   Démonstrations de l'amélioration des performances de l'application.

L'optimisation et les librairies standard

  • La manipulation des Strings. Les classes Collections.
  • Travaux pratiques   Démonstrations de l'amélioration des performances de l'application témoin par une meilleure manipulation des Strings et des Collections.

L'optimisation et quelques Design Patterns

  • L'utilisation des interfaces et des classes abstraites.
  • L'utilisation de fabriques.
  • L'utilisation d'adaptateurs, décorateurs, proxies.
  • Travaux pratiques   Design Patterns pour l'optimisation des applications.

L'optimisation et les I/O

  • Le choix des bonnes classes de Stream.
  • L'optimisation de la sérialisation.
  • L'optimisation spécifique aux IO réseaux.
  • Travaux pratiques   Amélioration des performances de l'application témoin par une meilleure gestion des IO.

L'optimisation et le multithreading

  • Le modèle d'activité de Java.
  • La synchronisation des threads.
  • L'optimisation des threads.
  • Travaux pratiques  Démonstrations de l'optimisation des threads.

L'optimisation et la gestion de la mémoire

  • Les principes généraux des GC (principaux algorithmes, collaboration avec l'allocateur).
  • L'organisation de la mémoire des principales JVM.
  • La saturation mémoire (cause, diagnostic, solutions).
  • Les évolutions Java6 : le Garbage Collector.
  • Travaux pratiques   Utilisation d'outils de visualisation de la mémoire, de l'activité du GC.

L'optimisation et l'utilisation de librairies C et C++

  • Les principes généraux de JNI : les étapes du développement. L'API JNIEnv. JNI et les performances.
plus d'infos

Méthode pédagogique

Chaque participant travaille sur un poste informatique qui lui est dédié. Un support de cours lui est remis soit en début soit en fin de cours. La théorie est complétée par des cas pratiques ou exercices corrigés et discutés avec le formateur. Le formateur projette une présentation pour animer la formation et reste disponible pour répondre à toutes les questions.

Méthode d'évaluation

Tout au long de la formation, les exercices et mises en situation permettent de valider et contrôler les acquis du stagiaire. En fin de formation, le stagiaire complète un QCM d'auto-évaluation.

Suivre cette formation à distance

  • Un ordinateur avec webcam, micro, haut-parleur et un navigateur (de préférence Chrome ou Firefox). Un casque n'est pas nécessaire suivant l'environnement.
  • Une connexion Internet de type ADSL ou supérieure. Attention, une connexion Internet ne permettant pas, par exemple, de recevoir la télévision par Internet, ne sera pas suffisante, cela engendrera des déconnexions intempestives du stagiaire et dérangera toute la classe.
  • Privilégier une connexion filaire plutôt que le Wifi.
  • Avoir accès au poste depuis lequel vous suivrez le cours à distance au moins 2 jours avant la formation pour effectuer les tests de connexion préalables.
  • Votre numéro de téléphone portable (pour l'envoi du mot de passe d'accès aux supports de cours et pour une messagerie instantanée autre que celle intégrée à la classe virtuelle).
  • Selon la formation, une configuration spécifique de votre machine peut être attendue, merci de nous contacter.
  • Pour les formations incluant le passage d'une certification la dernière journée, un voucher vous est fourni pour passer l'examen en ligne.
  • Pour les formations logiciel (Adobe, Microsoft Office...), il est nécessaire d'avoir le logiciel installé sur votre machine, nous ne fournissons pas de licence ou de version test.
  • Horaires identiques au présentiel.

Mis à jour le 08/11/2023