Objectifs du module :
Ce module s’adresse à un public disposant déjà de compétences « standard » en programmation orientée objet et vise à compléter ces connaissances vers des aspects plus avancés dans ce paradigme de programmation. Il s’agit d’un approfondissement de certains points vus dans les cursus classiques d’accès au M1 Miage, ou de découvrir des caractéristiques plus pointues nécessaires au développement d'applications industrielles.
Plan :
Entrées/sorties séquentielles en JAVA
- Architecture du paquetage java.io
- Les flots d’octets : flots physiques et flots prédéfinis, assemblage de flots
- Les flots de caractères : flots prédéfinis et assemblable de flots, conversion flot physique/flot de caractères
- Flots de compression/décompression
La Persistance
- La sérialisation
- Les flux et la persistance des objets dans des fichiers
Communication réseau : les sockets
- Communications en mode TCP
- Communication en mode UDP
Manipulation programmatique des classes
- Définition et ajout dynamique de classe, la classe Class et la classe Object
- Découverte des données membres et fonctions membres fichiers
- Compilation et linkage dynamique de classes
Initiation aux Design Patterns
- Principes des Patrons de conceptions en POO
- Exemples : Abstract Factory, Singleton, Adapter, Composite, Iterator, State
Threads
- La classe java.lang.Thread
- L’interface java.lang.Runnable
- Attente de fin d’un thread (méthodes join(), sleep() et watch())
- Notion de section critique
- Exécution exclusive de séquence de code (synchronized)