- Introduction
-
Retours sur les fondamentaux et les nouveautés
- L’évolution de Java
- Variables et primitives (inférence)
- Classes et Objets
- Interface (classes scellées)
- Record
- Tableaux et Collections
- Lamda et Stream
- Exception (try-with-resources)
- Modules
- Virtual Thread
-
Les génériques
- Concepts
- Utilisations : types et méthodes
- Opérateur diamant
- Type brut et pollution du heap
- Les paramètres de type borné
- Wildcard
- Les Bornes multiples
- L’effacement du type
- Limitations
-
BAPI Réflexion et Annotations
- Principe et cas d’usage
- API de réflexion
- Proxy
- Annotations Personnalisées
- Processeur d’annotation
-
Exécution de tâches parallèles
- Modèle thread
- Executors et Runnable
- ExecutorService et Callable
-
Contrôler l’exécution simultanée
- Synchroniser des exécutions
- ReentrantLock
- Producer et Consumer
- ReadWriteLock
- Semaphore
- CyclicBarrier
- CountDownLatch
Formation Java - Avancé
Description formation Java avancé
Java est un langage de programmation multi-plateforme et orienté objet. Il est largement utilisé aujourd’hui, top 5 sur l'indice Tiobe.
C’est un langage en évolution permanente avec un écosystème très riche. Il permet de développer rapidement des applications fiables et sécurisées, comme :
- des applications mobiles sur les plateformes android
- des applications d’entreprise sur des serveurs d’applications ou des conteneurs légers
- des applications cloud et big data
- des applications web
- des applications desktop
- des applications IoT
La formation Java Avancé, parmi nos formations développeur, est conçue pour les personnes ayant déjà une initiation à Java et souhaitant approfondir leurs connaissances. Elle couvre une variété de sujets avancés comme les nouveautés du JDK, la méta-programmation, la programmation concurrente ou encore la manipulation d’IO non-bloquants.
Elle permet aux développeurs de produire des solutions robustes et maintenables aux problématiques les plus complexes.
La formation Java Avancé s’appuie sur des éléments théoriques mais également des démonstrations et des travaux pratiques pour assurer une maîtrise complète des concepts avancés de ce langage.
Nos formations informatiques sont disponibles en présentiel ou à distance.
En savoir plus sur JavaPour qui ?
Cette formation Java Avancé s’adresse à des développeurs Java qui souhaitent parfaire leur maîtrise du langage, avec du code plus robuste et maintenable, notamment en s'appuyant sur les APIs incontournables et les dernières nouveautés du langage.
Prérequis
- Maîtriser les bases de la programmation objet
- Maîtriser les bases du langage Java
Objectifs pédagogiques
- Maîtriser les fondamentaux du langage Java et les dernières fonctionnalités du JDK
- Comprendre l’usage des génériques pour implémenter des solutions flexibles
- Savoir utiliser la méta-programmation pour implémenter des solutions simplifiées
- Maîtriser la programmation concurrente pour améliorer l’efficacité et la réactivité des applications
- Comprendre le fonctionnement de la mémoire pour analyser des problèmes
- Savoir optimiser l’utilisation des structures de données
- Savoir écrire une implémentation pour échanger sur un réseau
- Maîtriser les APIs non bloquantes
- Comprendre l’écosystème Java
Programme formation Java avancé
- Opérations atomiques
-
Interface pour l’exécution simultanée
- CopyOnWrite
- ConcurrentLinkedQueue
- ConcurrentHashMap, ConcurrentSet
- ConcurrentSkipListMap
- ConcurrentSkipListSet
-
Structure et optimisation
- Complexité temporelle et complexité spatiale
- Performance sur les tris
- Optimiser le hachage
-
Programmation réseau
- Concepts réseau
- Adresses et protocoles
- Socket Serveur/Client
-
NIO - Buffer, Channel et Selector
- Concept de NIO
- Buffer, Channel, Selector
- Lire un fichier dans des buffers
- Mapper un fichier en mémoire
- Selector pour lire dans plusieurs channels
-
NIO2 - Système de fichier et manipulation
- Utilisation du système de fichier
- Manipuler des répertoires, path et fichiers
- Parcourir des dossiers
- Surveiller un dossier
-
Ecosystème
- Outils et frameworks
- Conclusion
Formateur formation Java Avancé
Frédéric, notre formateur pour la formation Java Avancé, possède plus de 20 ans d'expérience en développement logiciel, avec un focus particulier en tant que Tech Lead. Ses projets variés dans le secteur de la logistique lui ont permis d'acquérir une expertise solide et diversifiée. Frédéric maîtrise de nombreuses technologies, notamment JavaScript, TypeScript, Git, et Maven.
En dehors de ses projets, il est un contributeur actif à la communauté des développeurs, participant à des projets open source comme Voxxrin, et partageant ses connaissances lors de conférences et meetups. Il a été président du Bordeaux Java User Group pendant 3 ans et est le créateur de BDX I/O.
Frédéric a également donné des conférences sur TypeScript à Devoxx et BordeauxJS. Son objectif est de transmettre son expertise et sa passion pour aider les développeurs à atteindre un niveau avancé en Java.
Évaluation et certification
À la fin de la formation Java Avancé, chaque participant se verra remettre :
- une grille d’évaluation des compétences, permettant de mesurer les progrès réalisés,
- une attestation de fin de formation,
- un certificat de réalisation.
Vos questions
Cette formation couvre-t-elle les dernières versions et les mises à jour de Java ?
Oui, la formation Java Avancé est constamment mise à jour pour inclure les dernières versions et les évolutions de Java, garantissant ainsi que vous apprenez les fonctionnalités et les pratiques les plus récentes.
Dois-je installer quelque chose sur mon ordinateur avant de commencer la formation ?
Oui, avant de commencer la formation, il est nécessaire d'installer le JDK (Java Development Kit), un IDE (Integrated Development Environment) comme IntelliJ IDEA ou Eclipse, ainsi que Maven pour la gestion de projets. Une liste détaillée des prérequis sera fournie avant le début de la formation.