Icones réseaux sociaux de Zenika Contacter Zenika Accéder au facebook Zenika Accéder au blog Zenika Accéder au twitter ZenikaIT
chargement...

Formation Java Intermédiaire

Approfondir ses connaissances en Java

Durée : 3 jour(s)
Référence : JAVA-AV-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 01 juillet 2013  1490 € drapeau  Arnaud Cogoluègnes Envoyer
Paris 21 août 2013  1790 € drapeau  Benoît Nouyrigat Envoyer
Paris 09 septembre 2013  1490 € drapeau  Benoît Nouyrigat Envoyer
Paris 04 novembre 2013  1490 € drapeau  Benoît Nouyrigat Envoyer
Lyon 18 novembre 2013  1490 € drapeau  Arnaud Cogoluègnes Envoyer
Rennes 09 décembre 2013  1490 € drapeau  Guillaume Tinon Envoyer
Nantes 09 décembre 2013  1490 € drapeau  Guillaume Tinon Envoyer

La prochaine session est animée par

photo

Arnaud Cogoluègnes est architecte Java EE chez Zenika et expert Spring. Il effectue des missions de conseil et de développement auprès de grands comptes et dispense pour SpringSource les formations Core Spring, Spring Web et Enterprise Integration. Arnaud est co-auteur de la seconde édition de Spring par la Pratique, de Spring Dynamic Modules in Action et de Spring Batch in Action.

logo

Objectifs

  • Pousser plus avant la maîtrise du langage Java
  • Comprendre et maîtriser les architectures des applications concurrentes
  • Maîtriser les API de communication entre applications Java

Répartition : 

50% Théorie, 50% Pratique

Public : 

Architecte, Développeur, Chef de projet

Pré-requis : 

Connaissance de Java

Programme

Contrôler la qualité du code avec les Assertions

  • Présentation et cas d'utilisation
  • Syntaxe des assertions
  • Activer sélectivement les assertions à la compilation, au runtime

Types paramétrés (« Generics »)

  • Présentation et avantages
  • Notion d'effacement de type
  • Types bornés et indéfinis
  • Comprendre les API et collections paramétrées
  • Développer des classes et méthodes paramétrées
  • Limitations

Introspection (java.lang.reflect)

  • Analyser une classe
  • Accéder aux champs et méthodes
  • Créer une nouvelle instance
  • Cas particuliers : génériques, tableaux et enums

Annotations

  • Présentation et historique
  • Utilisation
  • Annotations personnalisées
  • Annotations et réflexion

Multi-threading et parallélisme

  • Notion de Thread et cycle de vie
  • Lancer un thread : Thread et Runnable
  • Arrêter proprement un thread
  • Interruption prématurée du traitement
  • Threads démons, priorité, groupes de threads
  • Variables Threadlocal
  • Notion de classe « thread-safe », immutabilité
  • Synchronisation, volatilité et visibilité mémoire
  • Variables atomiques et collections synchronisées
  • Synchronisation des threads avec wait, notify et join

Sérialisation

  • Rappels sur la sérialisation
  • Serializable et Externalizable
  • Sérialisation et désérialisation personnalisées

SPI et découverte dynamique de services

  • Notions de SPI et de Service
  • Découverte dynamique
  • Use-case : système de plugins