MasterClass Expertise Java Core par Olivier Croisier

Accéder au niveau ultime d’expertise Java Core

  • Filière :

    Développement logiciel

  • Sous-filière :

    Java & XML

  • Référence

    JA-MCC

  • Durée

    3 jours (21 h)

  • Prix par personne HT

    Sur demande

Objectifs pédagogiques

  • Accéder à un niveau supérieur de maîtrise du langage Java
  • Comprendre et implémenter toutes les API fondamentales du JDK 11
  • Maîtriser les aspects de performances, de robustesse du code et de bonnes pratiques.

Public cible

  • Architectes
  • Développeurs
  • Leader technique

Pré-requis

Posséder une expérience minimum de 4 ans en développement Java. Une certaine exposition préalable aux API abordées dans la formation est fortement recommandée, ainsi qu’une bonne maîtrise de l’IDE

Programme de la formation

Jour 1

  • Core Java
    • De Java 5 à Java 11
    • Types primitifs
    • Classes et références (strong, soft, weak)
    • Classes internes
    • Performance des chaînes de caractères
    • Gestion des exceptions
    • Bonnes pratiques de logging
  • Lambdas et streams
    • Principes de programmation fonctionnelle
    • Anatomie d’une expression lambda
    • Références de méthodes
    • Méthodes par défaut
    • Programmation orientée ‘trait’
    • Notion de Stream
    • Générateurs de données
    • Transformation et filtrage
    • Collecteurs et opérations terminales

Jour 2

  • Types paramétrés (« Generics »)
    • Historique
    • Comprendre et utiliser les types paramétrés
    • Développer un type paramétré
    • Implémentation technique et limites
    • Types paramétrés et tableaux
    • Réflexion sur les types paramétrés
    • Design patterns spécifiques
  • Structures de données
    • Comprendre Equals et HashCode
    • Comparaison et tri des données
    • Le framework Collections
    • Patterns d’itération
    • Recherche efficace
    • Bonnes pratiques
    • Autres structures de données

Jour 3

  • I/O & Encodage
    • Architecture de java.io
    • Le design-pattern Décorateur
    • Encodage : de ASCII à Unicode/UTF-*
    • L’API NIO2 (optionnel)
    • Gestion des ressources et bonnes pratiques
  • Annotations
    • Historique
    • Syntaxe et utilisation
    • Annotations personnalisées
    • Annotation processors
    • Réflexion
  • Réflexion et Annotations
    • Méta–programmation : la classe Class
    • Fonctionnement des classloaders
    • Instanciation dynamique d’une classe
    • Manipulation des méthodes & champs
    • Proxies dynamiques
    • Frameworking

Qualité

Cette formation est accessible aux personnes en situation de handicap, nous contacter en cas de besoin d’informations complémentaires.

Programme mis à jour le