Dernière mise à jour le 24/10/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

Jusqu'a 8 jours avant le début de la formation, sous condition d'un dossier d'insciption complet

Méthodes

Fin de formation : entretien individuel.
Satisfaction des participants : questionnaire de satisfaction réalisé en fin de formation.
Assiduité : certificat de réalisation.
Validations des acquis : grille d'evalution  des acquis établie par le formateur en fin de formation.
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.
France Travail: sous réserve de l’acceptation de votre dossier par votre conseiller Pôle Emploi.
CPF -MonCompteFormation
Contactez nous pour plus d’information : contact@aston-institut.com

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 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++"

F28037

Android

Maîtriser le développement des applications Android Comprendre la mécanique des évènements sous Android Voir les différences entre une application Web et une application native Android sous Java et Kotlin Comprendre une architecture Web Service de type REST et son intégration dans une architecture de type Android

28 heures de formations sur 4 Jours
En savoir plus

Formation continue

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

F28050

ASP.NET MVC Core, développement d’application Web

Comprendre les principes d’ASP Net MVC Acquérir les compétences pour créer des applications Web avec Visual Studio Apprendre à tester et déboguer des applications Web ASP .NET Core Comprendre comment mettre en œuvre une méthode MVC pour développer en équipe Être capable d'écrire un service Web REST et l'appeler à partir d'une application MVC

35 heures de formations sur 5 Jours
En savoir plus

Formation continue

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

F28027

Spring : développer des applications d’entreprise

Comprendre le fonctionnement de Spring et son positionnement dans les technologies Java Savoir gérer la configuration des composants d’une application avec Spring Implémenter un service d’accès aux données Connaître les bonnes pratiques de développement avec Spring Connaître les apports de la Programmation Orientée Aspect (AOP) Sécuriser l’application

28 heures de formations sur 4 Jours
En savoir plus

Formation continue

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

F28038

Développer une application Java riche en java FX

    • Maîtriser le développement d'applications riches en Java FX  
    • Comprendre la mécanique des évènements  
    • Voir les différences entre une application Web et une application riche  
    • Comprendre une architecture Web  
    • Service de type REST et son intégration dans une architecture de type client lourd / riche  
    • Déployer une application Java FX
 

21 heures de formations sur 3 Jours
En savoir plus

Formation continue

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

F28028

Les tests Unitaires en Java

    • Comprendre l'impact (cout, temps) et le rôle des tests unitaires dans un projet
    • Pouvoir développer de bons tests unitaires sur l'API Junit dans sa version 4 et 5
    • Comprendre ce qu'est un Mock et comment en faire usage
 

14 heures de formations sur 2 Jours
En savoir plus

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