Great Place to Work
Icones réseaux sociaux de Zenika Contacter Zenika Accéder au facebook Zenika Accéder au blog Zenika Accéder au twitter ZenikaIT Zenika Blog
chargement...

Formation Java Spécialiste

Le complément indispensable au programmeur Java professionnel

Durée : 4 jour(s)
Référence : JAVA-SP-04

  • Télécharger
  • Offert en inter-entreprise

Petit déjeuner


Déjeuner


Qualification téléphonique


Lieu Date de début Prix (HT) Formateur Réserver
Paris 07 avril 2015  2500 € drapeau  Xavier Detant Envoyer

La prochaine session est animée par

Xavier enthousiaste de la technologie, travail comme développeur et leader technique Java depuis plusieurs années et suis de très près les nombreuses avancées dans le domaine. Formateur Java Spécifique et expert sur (entre autre) Struts, Spring, Hibernate, JUnit, TestNG, Mockito, Apache commons, Xavier est aussi adepte du craftsmanship, "la pédagogie et le partage des bonnes pratiques dans un esprit convivial et ludique" est donc son crédo.

logo

Présentation

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

Pédagogie : 

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