Architecture de la plate-forme java
- Caractéristiques du langage.
- Plateformes J2SE, J2EE et J2ME.
- Types d'applications Java.
- Compilateur, JRE, APIs de base.
- Projet, compilation, exécution, débogage, documentation avec Eclipse.
- Scripts d'exploitation de projet avec Ant.
Eléments syntaxiques du langage
- Types primitifs, classes wrapper, opérateurs.
- Structures de contrôle.
- Gestion des exceptions.
Mise en oeuvre des concepts objet
- Classe, attributs et méthodes.
- Optimisation : JVM, mémoire, garbage collector, JIT.
- Pools d'objet.
- Encapsulation, intégrité, évolutivité.
- Accesseurs et modifieurs.
- Surcharges des méthodes.
- Généralisation et spécialisation : l'héritage.
- Classe et méthodes abstraites.
- Polymorphisme.
- Développement par contrat : les interfaces.
- Les collections : caractéristiques, itérateurs, interfaces.
- Méta-programmation avec les annotations.
Threads
- Gestion des accès concurrents.
- Verrous sur les objets et non sur les méthodes.
- Accès aux variables partagées.
- Verrous multiples (éviter l'interblocage).
- Pools de threads.
Clients riches : awt et swing
- Le pattern Modèle Vue Contrôleur.
- Gestion des fenêtres et des composants.
- Gestion évènementiel par délégation, le pattern Observateur.
Accès aux bases de données
- Architecture et pilotes JDBC.
- Exécuter et exploiter des requêtes SQL et paramétrées.
- Persistance objet, Object Relational Mapping, Hibernate.
Les design patterns
- Unicité d'instance : pattern Singleton.
- Rendre indépendant la complexité de création : pattern Fabrique.
- Diminuer les dépendances : pattern Façade.
- Structures composites récursives : pattern Composite.
- Comportemens et états dynamiques : pattern Etat.