Description

Une formation Java pour les développeurs connaissant déjà bien ce langage, pour aller au-delà de l’utilisation courante, comprendre les aspects avancés de Java et son fonctionnement interne, et découvrir les bonnes pratiques des experts de Java.


Contenu

1 - Debug et logs

  • Utilisation avancée du debugger, les différents types de points d’arrêt
  • Les API de log

2 - Bonne utilisation des exceptions

  • Les différents types de throwable
  • Les exceptions checked ou unchecked, quand les utiliser ?
  • Définir ses propres exceptions, pouvant comporter des données
  • Bonnes pratiques concernant les exceptions : niveau d’abstraction, throw early, catch late, etc.

3 - Programmation multi-thread

  • La creation de threads et mot-clef synchronized
  • Les executors et les thread pools
  • Les locks
  • Les collections concurrentes

4 - Les structures de données

  • L’API de collections, et l’usage des méthodes standards de la classe Object (comparaison, tri).
  • Les génériques
  • La sérialisation des données
  • Les dates et timezones
  • Les énumérations, bien plus que des constantes

5 - Entrées-sorties

  • Les flux d’entrée-sortie, définir ses propres flux
  • l’API Java NIO

6 - API d’introspection

  • Les classes du package java.lang.reflect
  • Accès dynamique aux champs des objets
  • Appel dynamique des méthodes des objets

7 - Les annotations

  • Définir ses propres annotations
  • Découverte à l’exécution des annotations dans une classe
  • Recherche des classes annotées
  • Traitement des annotations à la compilation

8 - Java bas niveau

  • Classloaders et initialisation des objets
  • Manipulation du bytecode

9 - Performances

  • L’utilisation de la mémoire
  • Le fonctionnement du Garbage Collector
  • Utiliser les références faibles pour gérer un cache
  • Utilisation d’un profiler pour détecter les problèmes de vitesse ou de mémoire
  • Optimisation de la JVM

Objectifs

  • Approfondir sa connaissance du langage Java pour en tirer le meilleur parti.
  • Perfectionner ses techniques de développement en Java, pour améliorer son efficacité et la qualité du code produit.

Public

  • Développeurs Java
  • Architectes Java

Pré-requis

  • Bonne connaissance du langage Java, avec expérience pratique.

Durée Tarif Lieu
4 jours nous consulter Montpellier

Théorie : 50% Pratique : 50%

[haut]