Dernière mise à jour le 19/09/2024

JAVA, programmation avancée

Informations générales

Type de formation : Formation continue
Domaine : Développement
Filière : Action collective ATLAS "Java, .Net, C++"
Rubrique : Java - Jee - Android
Formation éligible au CPF : Non
Formation Action collective : Non

Objectifs & compétences

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

Développeurs, chargés de développement d’applications informatiques, 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.

Programme

Chapitre 1 : Invariants et records  
 
• Rappel sur les invariants (String, Class …)  
• Les records en Java 16  
• Création d'un record   
 
Chapitre 2 : Evolution des interfaces  
 
• Rappel  
• Evolution de l'interface du Java 5 à Java 9   
 
Chapitre 3 : Les génériques  
 
• Le rôle des wrappers  
• Les méthodes generic  
• Créer des classes et interface génériques  
• Utiliser l'héritage avec les generics  
• Faire usage de la syntaxe avancée *, ?, extends, super  Exemple d’exercice : En partant d'un code trop 'copié/collé' d'accès aux données, mise en place des generics pour gagner en maintenabilité   
 
Chapitre 4 : Les annotations  
 
• Créer ses propres annotations  
• @Retention  
• @Target  
• @Inherited   
 
Chapitre 5 : La gestion de la mémoire  
 
• Les options du Garbadge Collector  
• Les options de la JVM  
• Les classes Java dans java.lang.ref  
• WeakReference  
• PhantomReference  
• SoftReference  
Atelier pratique :  Mise en pratique des WeakReference avec une attention particulière sur les effets de bords possibles.   
 
 
Chapitre 6 : L'introspection / réflexion en JAVA  
 
• Les objectifs et les principes du réflexif.  
• L'objet java.lang.class  
• Les objets du package java.lang.reflect  
• Method  
• Field  
• Constructor  
• Modifier  
• Parameter  
• Instanciation, appel, récupération d'attribut en introspection   
 
Chapitre 7 : Les modules en JAVA 9  
 
• Définition  
• Exposition des packages  
• Gestion des dépendances de module  
• Utilisation et exposion de services  
• L'archive via jmode  
• Les mini VM avec jlink  Atelier pratique :  En repartant d'un exercice simple, nous allons créer des modules afin de bien découper le projet.   
 
Chapitre 8 : Le multitâche   
 
• Rappels sur les Thread et Runnable  
• Définition pour un objet Thread Safe  
• Le parallélisme avancé (Futur, Executor, Callable, ..)  
• Le ForkJoinPool  
• Les objets dits atomiques   
• Les Sémaphores (verrous)  Atelier pratique :  Calcul du nombre de décimal de PI en traitement parallèle.    
 
Chapitre 9 : La gestion des flux en NIO  
 
• Les entrées/sorties  
• Sérialisation/désérialisation d’objets  
• L’API NIO : Paths, Files, Buffer, Channel, WatchService, View    
 
Chapitre 10 : L'acces aux donnees via JPA  
 
• Rappel JDBC  
• Notion de DataSource et de Pool de connexions   
• Le Mapping Objet Relationnel (ORM)  
• L'EntityManger, l'EntityMangerFactory  
• Le transactionnel en JPA  
• Le JPQL un remplaçant du SQL  
• Focus sur la sécurisation   
•  Eviter les login/pwd dans son code  
• Eviter l'injection SQL  
Atelier pratique :  Chargement en parallèle de plusieurs fichiers textes afin de remplir une base de données de jeux d'essais.      
 
Chapitre 11 : Les tests unitaires en Junit  
 
• Objectif des tests unitaires  
• Historique des 3 versions de Junit (v3, 4 5)  
• Annotations principales (Junit 5)  
o @Test  
o @BeforeEach / @BeforeAll  
o @AfterEach / @AfterAll  
• Les Assertions et Assumptions  
• Les suites de tests  
• Les familles / catégories de test (@Tag)  
• Les tests paramétriques  
• Les tests répétés, annotation @RepeatedTest  
• Les annotations conditionnelles  
• @EnabledOnXxx  
• @DisabledIfXxx  
• Les objets injectables en Junit 5  
• TestInfo, TestReporter, RepetitionInfo  
• Le TDD avec Mockito  
• Définition du covrage et comment l'obtenir  
• Via son IDE  
• Via le plugin jacoco  
• Visualisation dans SonarQube  
Atelier pratique :  Mise en place des tests unitaires sur l'application écrite précédemment.
Utilisation des mock pour la partie d'accès aux données

Modalités

Modalités : en présentiel, distanciel ou mixte – Horaires de 9H à 12H30 et de 14H à 17H30 soit 7H – Intra et Inter entreprise
Pédagogie : essentiellement participative et ludique, centrée sur l’expérience, l’immersion et la mise en pratique. Alternance d’apports théoriques et d’outils pratiques.
Ressources techniques et pédagogiques : Support de formation au format PDF ou PPT Ordinateur, vidéoprojecteur, Tableau blanc, Visioconférence : Cisco Webex / Teams / Zoom
Pendant la formation : mises en situation, autodiagnostics, travail individuel ou en sous-groupe sur des cas réels

Méthodes

Fin de formation : entretien individuel
Satisfaction des participants : questionnaire de satisfaction réalisé en fin de formation
Assiduité : certificat de réalisation (validation des acquis)
Code de formation : F28049

Tarifs

Prix public : 2295
Tarif & financement :
Nous vous accompagnons pour trouver la meilleure solution de financement parmi les suivantes :
  • Le plan de développement des compétences de votre entreprise : rapprochez-vous de votre service RH.
  • Le dispositif FNE-Formation.
  • L’OPCO (opérateurs de compétences) de votre entreprise.
  • Pôle Emploi sous réserve de l’acceptation de votre dossier par votre conseiller Pôle Emploi.
  • CPF -MonCompteFormation
Contactez nous pour plus d’information

Lieux & Horaires

Campus : Ensemble des sites

Durée : 28 heures
Délai d'accès :
Jusqu’à 8 jours avant le début de la formation

Distanciel possible : Oui

Prochaines sessions

Cliquez sur la date choisie pour vous inscrire :

  • Inscription au 23 / 09 / 2024
    : Ensemble des sites
    : Distanciel possible
    : 28 heures
    : 4 jours
  • Inscription au 04 / 11 / 2024
    : Ensemble des sites
    : Distanciel possible
    : 28 heures
    : 4 jours
Handi-accueillante Accessible aux personnes en situations de handicap. Pour toutes demandes, contactez notre référente, Mme Rizlene Zumaglini Mail : rzumaglini@aston-ecole.com

à voir aussi dans le même domaine...

Formation continue

Action collective ATLAS "Java, .Net, C++"

F28039

Développer une application graphique en C++ avec Qt

Maîtriser le développement d'écrans avec Qt Comprendre le mécanisme de la gestion d'évènements Savoir utiliser les principales API non graphique de Qt : accès aux données, réseau, fichiers Maîtriser le développement en QML avec QtQuick  

28 heures de formations sur 4 Jours
En savoir plus

Formation continue

Action collective ATLAS "Java, .Net, C++"

F28029

Mise en oeuvre du langage c ++

Connaître les concepts de la programmation orientée objet Maîtriser la syntaxe du langage C++ Savoir développer une application C++ d'accès aux fichiers  

35 heures de formations sur 5 Jours
En savoir plus

Formation continue

Action collective ATLAS "Java, .Net, C++"

F28040

L’intégration continue, un enjeu pour la qualité

      • Maîtriser les phases de mise en oeuvre d’une intégration continue  
      • Maîtriser les maillons d'une chaîne d'intégration continue  
      • Automatiser la construction de vos applications  
      • Mettre en place un tableau de bord de vos intégrations  
      • Générer des rapports liés à l'activité de développement et à la qualité
      • Valider le respect des normes de développement par les développeurs via Sonar
 

21 heures de formations sur 3 Jours
En savoir plus

Formation continue

Action collective ATLAS "Java, .Net, C++"

F28030

C++ Programmation avancée

Maîtriser les concepts avancés du C++ Connaître les principales nouveautés du C++ 11

28 heures de formations sur 4 Jours
En savoir plus

Formation continue

Action collective ATLAS "Java, .Net, C++"

F28041

Sécurité des applications Web

    • Comprendre les différentes sécurités existantes autour des serveurs WEB, navigateurs, etc.  
    • Savoir gérer des tests de pénétration sur une application WEB Secure coding
    • Avoir les bonnes méthodes et pratiques dans la conception d'une application WEB
    • Acquérir les compétences nécessaires pour créer un programme de sécurité des applications
    • Savoir couvrir les exigences demandées par les ISO 27001/2 à savoir  
    • Utiliser la norme ISO 27034 - sécurité des applications
 

35 heures de formations sur 5 Jours
En savoir plus

Formation continue

Action collective ATLAS "Java, .Net, C++"

F28031

HTML5 CSS3 JAVASCRIPT 6

    • Savoir construire une page Web en HTML5   
    • Mettre en forme une page web avec CSS3   
    • Rendre interactif une page HTML 5 en utilisant JavaScript   
    • Créer et valider des formulaires HTML 5   
    • Intégrer du contenu multimédia et graphique à une page web HTML 5   
    • Améliorer l'expérience utilisateur en ajoutant des animations à une page HTML 5   
    • Utiliser des sockets Web et les Web Worker Processes
 

35 heures de formations sur 5 Jours
En savoir plus