Formation Java Perfectionnement : Maîtriser les fonctions avancées
Le plus de la formation
Convivialité et sourire garantis
Localité
En présentiel
Découvrez les localités disponibles pour suivre cette formation en présentiel.
Certifications
Datadock
Qualiopi
Objectifs
Analyser les aspects avancés du langage Java. Appliquer les principaux frameworks et bibliothèques Java. Programmer en Java dans le contexte des bases de données relationnelles. Tester, débugger et optimiser ses applications.
Programme
01 Aspects avancés de Java
- La programmation concurrente
- Les concepts de la programmation multi-thread :
Le modèle d'activités de Java (Runnable et Thread)
- La création / destruction des threads
- Ordonnancement des threads
- La synchronisation des threads
- Le verrouillage des méthodes et des instructions (synchronized)
- Les moniteurs
- Quelques problèmes du multi-thread
L'interblocage (caractérisation, évitement, prévention, détection), la famine
- Les extensions du modèle introduites dans Java 5 (Callable, Future, ExecutorService), les nouvelles collections
- Le modèle Fork/Join
- Les extensions avec CompletableFuture
- Les divers outils de gestion de la concurrence :
Les verrous partagés / exclusifs, les sémaphores, les barrières cycliques
02 Aspects avancés : La programmation réflexive
- Les objectifs et les principes
- La découverte dynamique des informations relatives à une classe ou à un objet
- L'instanciation et l'invocation dynamique
03 Chargement et vérification des classes
- Rôle du compilateur Java
- Rôle des ClassLoader
- Les différentes zones mémoires de la JVM (Java Virtual Machine) et leur gestion par le GC (Garbage Collector)
- Hiérarchie des différents ClassLoader
- Vérification du Bytecode
- Chargement dynamique de classe
- Implémenter un ClassLoader
04 Accès aux bases de données relationnelles depuis Java
- Les capacités de JDBC (Java Database Connectivity)
- Les avantages des ORM (Object Relational Mapping)
- Hibernate
Présentation et architecture
- Installation et configuration
- Persistance des classes et des attributs, associations et héritage
- Mapping objet-relationnel avec JPA (Java Persistence API)
- Présentation des EJB (Enterprise JavaBeans) Entity
- Introduction à JPA (Java Persistance API)
- Mapping objet-relationnel, rôle de la clé primaire, mapping des associations (one-to-many, many-to-one...)
- L'héritage
- JPQL (Java Persistence Query Language), le langage de requête orienté-objet
05 Les frameworks Java
- Les frameworks
D'accès aux données
D'IHM (Interfaces Homme-Machine) serveur et client
De gestion de composants
Spring
- Les objectifs de Spring et de ses extensions
- Présentation de Spring Core
- Spring et l'accès aux données
- Spring et le Web, Spring MVC (Model-View-Controller)
- Les couches applicatives avec Spring
- Les frameworks de service Web
- Jersey et REST (Representational State Transfer)
- CXF et SOAP (Simple Object Access Protocol) / REST
- Les frameworks d'interface graphique
- Le framework JSF2 (JavaServer Faces 2.0)
- Les frameworks concurrents client
06 Tester ses applications en Java
- Test Driven Development – Découvrir les grands principes du TDD
- Cycle de développement du TDD
- Les 3A : Arrange, Act, Assert
- Remaniement de code : techniques de refactoring en TDD
- Conception émergeante
- Gestion des exceptions
- Gestion des scénarios
- JUnit – Savoir utiliser le framework JUnit pour implémenter des tests
- Tests unitaires
- Framework xUnit, implémentation Java : JUnit
- Principe d'assertions
- Alternatives à JUnit (TestNG)
- Outillage complémentaire
- Mise en œuvre et bonnes pratiques
- TDD
- Correction des anomalies
- Gestion de la montée en charge et de la sécurité des produits
- Gestion de la performance
- Les Stress tests
07 Le processus d'optimisation
- Analyser
- Coder
- Mesurer pour vérifier
- Les outils
- Profiling
- JVisualVM
- Eclipse MAT
- SoapUI
- JMeter
08 Gestion mémoire et optimisation
- L'organisation de la mémoire
- Le ramasse-miettes
- Le cycle de vie des objets
- Configurer la mémoire et le GC
- Mesure de la mémoire
- Off Heap
- La gestion de la mémoire et les performances
- Les options de la JVM HotSpot pour le suivi de l'activité du GC
- Fuite de mémoire
- Fuite de ressources
- Optimiser l'utilisation de la mémoire
- Optimiser l'occupation mémoire
09 Nouveautés Java
- Lambda fonctions
- Streams et Streams parallèles
- Gérer des modules
26 années
d'expertise
4,8/5
sur Google
À propos du centre A BONNE ECOLE
À Bonne Ecole est un organisme de formation professionnelle pour adultes dont le siège social est situé à Nantes.
À Bonne École intervient sur l’ensemble du territoire national français grâce à son expertise en matière de classe virtuelles, et son réseau de partenaires sur l’ensemble du territoire national.
Ses domaines d’intervention sont les suivants :
- Management
- Informatique & Digital
- SoftSkills.
La clientèle d’A Bonne Ecole se compose d’entreprises, d’administrations, mais aussi de particuliers souhaitant mobiliser leur CPF (Compte Personnel de Formation).
Bénéficiant d’une équipe ayant une expérience de plus de 20 ans dans le domaine de la formation professionnelle, À Bonne École est un véritable partenaire de proximité de ses clients sur ce métier.
Les objectifs sont d’écouter le besoin du client, proposer des solutions adaptées, et développer les compétences des participants afin qu’ils gagnent en performance.
Envie d’en savoir plus sur cette formation ?
Documentez-vous sur la formation
Ces formations peuvent vous intéresser
2010 €
1300 €
7475 €
750 €