Stage pratique de 4 jour(s) Réf : JOT Participants Java, optimisation développer des applications efficaces et fiables Développeurs, ingénieurs, chefs de projets proches du développement. 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. Pré-requis OBJECTIFS PEDAGOGIQUES Bonnes connaissances du langage Java. Expérience requise en programmation Java. Prix 2017 : 2150€ HT Dates des sessions Bruxelles 20 juin 2017, 26 sep. 2017 12 déc. 2017 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 1) Méthodologie et outils pour l'optimisation 2) L'optimisation et le langage 3) L'optimisation et les librairies standard 4) L'optimisation et quelques Design Patterns 5) L'optimisation et les I/O 6) L'optimisation et le multithreading 7) L'optimisation et la gestion de la mémoire 8) L'optimisation et l'utilisation de librairies C et C++ Modalités d’évaluation 1) Méthodologie et outils pour l'optimisation L’évaluation des acquis se fait tout au long de la session au travers des multiples exercices à réaliser (50 à 70% du temps). - 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. Compétences du formateur Les experts qui animent la formation sont des spécialistes des matières abordées. Ils ont été validés par nos équipes pédagogiques tant sur le plan des connaissances métiers que sur celui de la pédagogie, et ce pour chaque cours qu’ils enseignent. Ils ont au minimum cinq à dix années d’expérience dans leur domaine et occupent ou ont occupé des postes à responsabilité en entreprise. Travaux pratiques Utilisation des profilers hprof et jmp. Utilisation de JUnit. Profiling d'une application simple. 2) 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. 3) 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. 4) L'optimisation et quelques Design Patterns Moyens pédagogiques et techniques • Les moyens pédagogiques et les méthodes d'enseignement utilisés sont principalement : aides audiovisuelles, documentation et support de cours, exercices pratiques d'application et corrigés des exercices pour les stages pratiques, études de cas ou présentation de cas réels pour les séminaires de formation. • A l'issue de chaque stage ou séminaire, ORSYS fournit aux participants un questionnaire d'évaluation du cours qui est ensuite analysé par nos équipes pédagogiques. - 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. 5) 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. 6) 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. ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 1 • Une feuille d’émargement par demi-journée de présence est fournie en fin de formation ainsi qu’une attestation de fin de formation si le stagiaire a bien assisté à la totalité de la session. 7) 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. 8) 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. ORSYS, La Grande Arche, Paroi Nord, 92044 Paris La Défense cedex. Tél : +33 (0)1 49 07 73 73. Fax : +33(0)1 49 07 73 78 page 2