Java - Avancé avec 4SH
Java est un langage de programmation multiplateforme 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é 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 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.
À propos de cette formation
Le Haillan
33
À partir de 2 100€ HT
3 jours
21 heures
Action de formation
Éligible OPCO
En savoir plus
- 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
- 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
-
API 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
- 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
L'organisme de formation
Public concerné
- Cette formation 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.
- Maîtriser les bases de la programmation objet
- Maîtriser les bases du langage Java
Conditions d'accès
1 à 10 places
4 semaines
Plus qu'une formation !
- Mise à disposition de tout le matériel informatique et pédagogique nécessaire (hors PC)
- Support de cours au format numérique projeté sur écran et transmis au participant par mail à la fin de la formation
D'autres formations qui pourraient vous intéresser