Java Optimisation (Live Virtual Class)

Blended learning

À qui s'adresse la formation?

Architectes, Consultants, Developpeurs, Ingénieurs

Durée

3,00 jour(s)

Langues(s) de prestation

EN FR

Prochaine session

16.01.2025
Lieu
Live Virtual Class

Prix

2050,00€

Prérequis

Bonne pratique de Java

Objectifs

Les applications Java, comme toute autre application informatique, souffrent généralement de problèmes de performance, souvent détectés tardivement. Il n'est pas toujours possible de se reposer sur les exploitants en augmentant les capacités de l'infrastructure (bien que ce soit parfois une solution plus rapide et économique). Il faut alors demander aux développeurs de replonger dans leur code pour l'optimiser. Encore faut-il avoir une démarche et des outils pour comprendre ce qu'il faut optimiser et savoir comment le faire.

  • Savoir appliquer une démarche d'optimisation
  • Comprendre le fonctionnement de la machine virtuelle (JVM)
  • Connaître et savoir utiliser les outils d'audit et de mesure
  • Repérer les fuites mémoire
  • Comprendre la problématique des applications multi-thread, détecter (ou éviter) les erreurs

Contenu

La performance
  • Définition
  • La performance pour tous
  • Les éléments composant la performance
  • La performance perçue
  • La performance au démarrage
  • Impact dans les couches d’une application
  • Performance et architecture
  • La notation "grand O"
Le processus d'optimisation
  • Analyser
  • Coder
  • Mesurer pour vérifier
Benchmarking
  • Mesure de temps
  • Les pièges
  • Le benchmarking
  • Les microbenchmarks
  • JMH
  • Recommandations
Les outils
  • Profiling
  • JVisualVM
  • Eclipse MAT
  • SoapUI
  • JMeter
Les principaux soucis de performance
  • Les bottlenecks
  • Les origines
L'utilisation efficace des API
  • API Collections
  • L'utilisation des wrappers
  • La méthode hashCode()
Gérer les entrées sorties
  • L'utilisation des classes à bon escient
  • La sérialisation
  • La sérialisation personnalisée
  • Les échanges réseau
Les accès à la base de données
  • Nombre excessif de requêtes
  • Mauvaise configuration de la persistance
  • Lectures de données importantes et/ou superflues
  • Configuration du pool de connexions
La gestion de la mémoire
  • L'organisation de la mémoire
  • Le ramasses-miettes
  • Le cycle de vie des objets
  • Configurer la mémoire et le GC
  • Mesure de la mémoire
  • Off Heap
  • La gestion de la mémoire et les performances
  • Les options de la JVM HotSpot pour le suivi de l’activité du GC
  • Fuite de mémoire
  • Fuite de ressources
Optimiser l'utilisation de la mémoire
  • Optimiser l'occupation mémoire
  • Optimiser les instanciations
Parallélisation
  • Les apports de la parallélisation
  • La mise en œuvre
  • Les API
  • Le framework Fork/Join
  • Race condition et contention
  • Les deadlocks
  • Obtenir et exploiter un threaddump
  • Les streams parallèles
Les légendes urbaines
  • Java est lent
  • La concaténation de chaînes
  • Augmenter la taille du heap
  • Le cache comme LA solution
  • 64 bits vs 32 bits
L'importance de la JVM et de la version de Java
  • Choisir la JVM
  • Configurer la JVM
  • La version de Java utilisée
La performance n'est pas que technique
  • Les raisons non techniques des mauvaises performances
  • Prise en compte dans le SDLC (Software Development Live cycle)
  • Mesurer la performance en continue
  • Monitoring

Certificat, diplôme

Une attestation de participation sera transmise aux participants

Prochaine session

Date
Ville
Language & prix
16.01.2025

18.01.2025
Live Virtual Class
FR 2050,00€

Contact pour cette formation

Nathalie Thielemans / Nassera Aici

Ces formations pourraient vous intéresser

EN
Journée
Sur demande
Langages informatiques