Formation Java Spécialiste
Le complément indispensable au programmeur Java professionnel
Durée : 4 jour(s)
Référence : JAVA-SP-04
|
- Offert en inter-entreprise
|
Petit déjeuner
Déjeuner
Qualification téléphonique
|
|
La prochaine session est animée par
|
Olivier Croisier est expert Java / Spring / Terracotta / Web. Il est certifié Java 5.0 avec 100%, certifié Spring 2.5 avec 86% et est formateur certifié Terracotta. Il est l'auteur du blog The Coder's Breakfast. De plus Olivier a publié plus de 200 articles sur différents blogs techniques et dans la presse spécialisée. |
|
Présentation
Quels sont les avantages de cette formation ? Cliquez ici
La Formation Intensive pour Spécialistes Java est mise au point et animée par Heinz Kabutz, reconnu 'Java Champion' et auteur de la newsletter The Java Specialists. Elle incorpore (sous licence) des éléments pédagogiques fournis par JavaPerformanceTuning.com.
"Cette formation concentre toute mon expertise Java et l'expérience acquise grâce à la publication de plus de 200 articles spécialisés, l'animation de centaines de séminaires et bien sûr l'écriture de centaines de milliers de lignes de code Java. Heinz Kabutz, auteur de la newsletter "The Java Specialists"
Au cours des 4 jours de la formation, nous étudierons plus de 1000 slides couvrant les sujets les plus avancés. A la fin de chaque section, des exercices pratiques permettront la mise pratique des notions étudiées. Même le programmeur Java le plus aguerri y trouvera un certain challenge !
Cette formation s'adresse à tout programmeur Java professionnel possédant au moins 3 ans d'expérience, et qui aimerait réellement maîtriser le langage Java. |
Objectifs
- Devenir un véritable expert du langage Java
- Maîtriser la programmation multi-threads
- Accélérer la sérialisation et le transport des objets sur le réseau
- Etudier les problématiques de consommation mémoire, et diagnostiquer les problèmes
- Déterminer les structures de données les plus pertinentes
- Découvrir les possibilités offertes par l'API Reflection
- Gérer correctement les exceptions
- Optimiser chaque aspect important du code pour en tirer les meilleures performances
|
Répartition :
50% Théorie, 50% Pratique |
Public :
Développeur confirmé, Architecte |
Pré-requis :
Programmeur Java professionnel possédant au moins 3 ans d'expérience |
Programme
Jour 1 : Introduction
Jour 1 : Multi-threading
- Rappels: Threads, ThreadGroups, moniteurs et locks
- 10 lois pour une programmation concurrente efficace
- Exécuteurs, barrières mémorielles et interruptions
- Analyse des problèmes en environnement multi-threadé
Jour 2 : Java IO - Sérialisation et performance réseau
- Flux d'objets et mécanisme de sérialisation
- Personnalisation du format sérialisé
- Optimisation des performances
- Compatibilité et évolutivité des flux binaires
Jour 2 : Java NIO
- Buffers, Channels et Selectors
- Accès direct au système de fichiers
- Multiplexage de sockets et traitements non-bloquants
- Encodage des flux de caractères
Jour 2 : Le modèle mémoire de Java
- Occupation mémoire des graphes d'objets
- Structure de la mémoire, espaces générationnels
- Sélection et comparaison des Garbage Collectors
- Mesure de l'activité du GC, impact sur les performances
- Optimisation de la JVM
- Types de références
- Pools d'objets
Jour 3 : L'API Réflexion
- Chargement et manipulation dynamique des objets
- Cas particuliers : tableaux et types paramétrés
- Proxies dynamiques et Classloaders
Jour 3 : Structures de données
- Notion de complexité spatiale et temporelle
- Performance des algorithmes de parcours et tri
- Types paramétrés ('Generics')
- Etude et comparaison des structures de données usuelles
Jour 3 : Gestion des exceptions
- Hiérarchie et signification des types exceptions
- Analyse et manipulation des Stacktraces
- Assertions et qualité logicielle
- Pièges et bonnes pratiques
- Considérations de performances
Jour 4 : Benchmarking et optimisation
- Diagnostiquer la performance d'un système
- Méthodologie de benchmarking, validité et analyse des mesures
- Optimisations JVM bas niveau
- Principaux types de problèmes
- Outillage JVM et profilers
Jour 4 : Gestion des Dates et des TimeZones
- Temps machine, temps humain
- Dates, calendriers et timezones en Java
- Bonnes pratiques
Jour 4 : Logging
- Enjeux et bonnes pratiques
- Log4J en action
- Impact sur les performances
|
|