Retour formation coaching ingénierie inter intra Extrême Java Référence : XJAVA Durée : 3 jours A l'issue de la formation "Extrême Java" vous aurez une vision plus claire de la gestion de la mémoire par la JVM. Vous pourrez mettre en place des outils de profiling pour visualiser les points bloquants de vos applications, vous aurez des pistes pour l'optimisation de votre code. Vous aurez une vue d'ensemble de la programmation multi-tâche, multi-coeur et de la programmation par aspects (AOP). Vous saurez manipuler le Bytecode. Prochaines sessions : Toulouse 02/05/2017 : 2 100,00 € 29/08/2017 : 2 100,00 € 22/11/2017 : 2 100,00 € Paris - 17ème 22/05/2017 : 2 100,00 € 10/07/2017 : 2 100,00 € 18/09/2017 : 2 100,00 € 04/12/2017 : 2 100,00 € Travaux pratiques : Au travers du déroulement itératif d'un projet, vous utiliserez des techniques moins connues de programmation Java comme la gestion poussée des Threads, l'introspection du code avec les annotations. Vous implémenterez l'injection de comportements en utilisant l'AOP, les proxies dynamiques et la manipulation de Bytecode. Vous mettrez en place le SecurityManager et regarderez les APIs de sécurité Java. Vous allez apprendre à : Programmer multi-tâche en Java Sécuriser une application Java Comprendre la gestion de la mémoire Tirer parti des possibilités de réflexion du langage Manipuler et analyser le Bytecode Exploiter la programmation par aspects Comprendre l'évolution du langage Java Analyser le comportement d'une application Java et en accroître les performances Méthode pédagogique : 60% de travaux pratiques Audience : Développeurs Java expérimentés Pré-requis : Solide expérience pratique du langage de programmation Java Programme : Programmation multi-tâches Concepts liés aux multi-tâches Programmer avec des Threads Problèmes spécifiques au multi-tâche Problèmes de conception associés Concepts avancés Programmer sur un processeur multi-coeur Impact sur les performances Entrées / sorties Exploration du package entrées / sorties (NIO) Encodage des flux de caractères Les nouveautés des NIO2 Gestion de la mémoire Modèle de mémoire Java Garbage collection, spécifications et algorithmes Options de la JVM Objets références Pools d'objets Réflexion Vue d'ensemble Introspection de classes Manipuler des objets, des tableaux Manipuler le Bytecode Utiliser Javassist Contraintes de sécurité Proxies dynamiques ClassLoaders et manipulation de classes au chargement Sécurité Java Problématiques et principes de sécurité Sécurité de niveau langage et de la JVM API de sécurité (JAAS, JCE, JSSE) Annotations Principe des annotations Annotations prédéfinies Définir ses propres annotations Exemples d'utilisation Programmation par aspects (AOP) Principes de l'AOP Programmer par aspects Les tisseurs d'aspects Java Agent de Java Les aspects dans le profiling Profiling et optimisation Stratégie d'optimisation Techniques d'optimisation Optimisations par le compilateur et la JVM, JIT Coût des opérations Java Diagnostics et profiling