Maîtriser les API avancées de Java

Développer une application C# dans un environnement Visual Studio 2017
December 17, 2018
Formation Kotlin, développer des applications pour Android
December 17, 2018

Programme

Concepts et syntaxes avancés du langage

  • Les « import static »
  • Autoboxing et auto-unboxing des types primitifs
  • Les types génériques
  • Amélioration des boucles avec les collections
  • Introspection et réflexion
  • Méthodes à nombre d’arguments variable
  • Annotations : utilisation, création

Comprendre la JVM (Machine Virtuelle)

  • Comprendre comment fonctionne le garbage collector et la gestion de la mémoire, forcer un garbage
  • Optimiser l’utilisation de la mémoire, modifier les paramètres de lancement
  • Comprendre le class loader
  • Modifier la stratégie de chargement des classes : écriture d’un class loader
  • Piloter la JVM via API

Gérer les accès concurrents

  • Définition d’un thread
  • Créer et manipuler les threads
  • Synchroniser les threads sur un objet moniteur
  • Exemple de temps réel
  • Bonnes et mauvaises pratiques

La sécurité en Java

  • Les contextes : standalone, applet, serveur Java EE
  • Les API de sécurité (JAAS, JCE, JSSE)
  • La configuration
  • Cryptographie et PKI
  • Signer une applet java

Principes des architectures n-tiers, pattern MVC et Design Patterns

  • Le couple Observer/Observable
  • Façade
  • Fabrique abstraite
  • Inversion de contrôle
  • Itérateur et Visiteur

Accéder à une base de données relationnelle avec JDBC

  • Architecture et types de pilotes JDBC
  • Charger le pilote et récupérer une connexion à la base de données
  • Exécuter des requêtes SQL, requêtes paramétrées
  • Exploitation des résultats

Notion de persistance objet :

  • Principes
  • Data Transfer Object
  • Exemple d’Hibernate

Gestion de flux d’entrées/sorties

  • Flux binaires, encodages
  • Sérialisation/désérialisation d’objets
  • Les modifieurs Java et leurs impacts

Architecture à objets distribués : RMI (Remote Method Invocation)

  • Présentation
  • Appel de méthodes d’un objet distant (TCP-IP)
  • Appel de méthodes d’un objet distant (RMI)
  • Annuaire d’objets : RMIRegistry
  • Interface Remote
  • Le compilateur rmic
  • Stub et skeleton
  • Construction du client et du serveur
  • Introduction à CORBA et IIOP