Formation en Développement: Java - Avancé - Ascent Formation
Retour aux formations
Développement

Java - Avancé

5 jour(s)35h

Description

Objectif de formation : Maîtriser le langage Java et ses éléments avancés

Objectifs pédagogiques

  • Maîtriser les aspects avancés du langage Java
  • Comprendre comment appliquer les principaux Frameworks et librairies Java
  • Comprendre le modèle de sécurité et le chargement des classes Java
  • Savoir programmer en Java dans le contexte des bases de données relationnelles
  • Savoir tester, debugger et optimiser ses applications
  • Appréhender les nouveautés Java

Public concerné

Développeurs
Architectes application
Ingénieurs logiciels
Chefs de projets proches du développement…

Prérequis

Maitriser le langage Java
Connaitre les concepts de bases de données relationnelles et du langage SQL
Disposer d’une expérience en programmation Java

Déroulé du programme

1

Java (2 heures)

2h
  • Présentation des versions et rappels sur les classes
  • Les interfaces
  • Les expressions lambda
  • Les modèles de sécurité
2

Collections (3 heures)

3h
  • Création de collections
  • L’interface Stream
  • Filtrage de collections : les expressions lambda
3

Le multi-threading (4 heures)

4h
  • Fonctionnement
  • Ordonnancement
  • Gestion des priorités
  • Exclusion mutuelle
  • Synchronisation
  • Thread démon
  • Communication : les flux pipe
4

Les bases de données relationnelles (5 heures)

5h
  • Historique de l'accès aux données en Java, présentation de JDBC
  • API JDBC, Connection, Statement, ResultSet
  • Correspondance entre types SQL et Java
  • Gestion des transactions
  • Notion de pool de connexions
  • Problématique de l'ORM et introduction à JPA
  • Configuration JPA, l'exemple d'Hibernate
  • Mapping basique, API de l'EntityManager, les transactions
  • Mapping de l’héritage, des associations, lazy-loading et cascading
  • Introduction au langage JPQL
  • Travaux pratiques : Mise en œuvre de JPA avec Hibernate pour rendre persistants des beans entités, utilisation du langage de requêtes JPQL pour rechercher des beans entités, mise en œuvre de l’héritage et d’associations unidirectionnelles et bidirectionnelles
5

L'API de concurrence (3 heures)

3h
  • Les exécuteurs de tâches
  • Les maps et variables atomiques
  • Les queues
  • Les synchroniseurs & les traitements asynchrones anticipés
  • La représentation du temps et de ses unités
  • Les verrous haute performance
  • Travaux pratiques
6

Les annotations (2 heures)

2h
  • Objectif
  • L’API reflection
  • Les annotations standards & les méta-annotations
  • Construire des annotations
  • APT
7

Les I/O (2 heures)

2h
  • NIO.2 : accéder aux fichiers
  • Les flux standards
  • La lecture et l’écriture à partir de la console
  • Usage des streams
8

L'API JDBC (6 heures)

6h
  • Les buts de JDBC
  • Les drivers
  • Les architectures applicatives
  • Les classes et interfaces en jeu
  • La connexion
  • Les transactions et l’isolation transactionnelle
  • Interrogation et MAJ
  • Appel d’une procédure stockée
  • Les différentes données
  • Les pools de connexion
  • Les Rowset
  • La libération des ressources
  • La gestion des exceptions
  • JPA
  • Travaux pratiques
9

Les tests (3 heures)

3h
  • Objectif
  • JUnit
  • Options avancées de la perspective Debug
10

Traçabilité des applications (3 heures)

3h
  • Objectif
  • L’API Java Logging
  • Les dates avec l’API Java Date / Time
  • Fabrication de timestamps
11

Nouveautés de Java 9 (2 heures)

2h
  • La modularisation : Jigsaw
  • Fabriques pour les collections
  • Classe Optinal & API Stream
  • Shell Java : REPL jShell

Informations

Durée

5 jour(s)

35h

Tarif

2380 € HT

HT