Illustration stages Nous recrutons
Develop

Formation Java - Avancé

Tout savoir sur ce langage de programmation multiplateforme orienté objet.
3 jours (21h00)
1 à 8 personnes
0 participant·e·s
de janvier 2023 à ce jour.
Théorie - 60%
Pratique - 40%
Formation Java avancé présentiel ou à distance avec 4SH
Prix de la formation 2100 € HT Niveaux disponibles
Prendre rendez-vous
Toutes nos formations sont disponibles en présentiel ou à distance.
Pré-inscription
Niveau :
Icône avance Avancé
En soumettant ce formulaire, vous  acceptez que 4SH mémorise et utilise vos données personnelles dans les conditions décrites dans la Notice d'informations RGPD.
Merci de cocher l'acceptation de la notice d'informations RGPD.
Prix de la formation
2100 € HT

Description

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é 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.


Pour qui ?

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.

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

  1. Introduction
  2. 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
  3. 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
  4. BAPI Réflexion et Annotations
    • Principe et cas d’usage
    • API de réflexion
    • Proxy
    • Annotations Personnalisées
    • Processeur d’annotation
  5. Exécution de tâches parallèles
    • Modèle thread
    • Executors et Runnable
    • ExecutorService et Callable
  6. Contrôler l’exécution simultanée
    • Synchroniser des exécutions
    • ReentrantLock
    • Producer et Consumer
    • ReadWriteLock
    • Semaphore
    • CyclicBarrier
    • CountDownLatch
  1. Opérations atomiques
  2. Interface pour l’exécution simultanée
    • CopyOnWrite
    • ConcurrentLinkedQueue
    • ConcurrentHashMap, ConcurrentSet
    • ConcurrentSkipListMap
    • ConcurrentSkipListSet
  3. Structure et optimisation
    • Complexité temporelle et complexité spatiale
    • Performance sur les tris
    • Optimiser le hachage
  4. Programmation réseau
    • Concepts réseau
    • Adresses et protocoles
    • Socket Serveur/Client
  5. 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
  6. 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
  7. Ecosystème
    • Outils et frameworks
  8. Conclusion


Modalités d'accueil

Café offert
Repas du déjeuner inclus dans le tarif de la formation
Parking


Formation(s) liée(s)

Kafka
à partir de
1400 €
(31)

Kafka

Develop

Gérez vos événements en temps réel avec cette solution open source.

Kotlin
à partir de
2000 €

Kotlin

Develop

Apprenez l’utilisation de ce langage de programmation orienté objet.