Java Optimisation

Betribsiwwergräifend Formatioun

U wie riicht sech d'Formatioun?

Architectes, Consultants, Developpeurs, Ingénieurs

Dauer

3,00 Dag(Deeg)

Sprooch(e) vun der Déngschtleeschtung

EN FR

Nächst Sessioun

15.06.2024
Plaz
Windhof (Koerich)

Präis

2050,00€

Virkenntnisser

Bonne pratique de Java

Ziler

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

Inhalt

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, Diplom

Une attestation de participation sera transmise aux participants

Nächst Sessioun

Datum
Stad
Sprooch & Präis
15.06.2024

17.06.2024
Windhof (Koerich)
FR 2050,00€
05.09.2024

07.09.2024
Windhof (Koerich)
FR 2050,00€
16.11.2024

18.11.2024
Windhof (Koerich)
FR 2050,00€
16.01.2025

18.01.2025
Windhof (Koerich)
FR 2050,00€

Kontakt fir dës Formatioun

Nathalie Thielemans / Nassera Aici

Dës Formatioune kéinten Iech interesséieren

FR
Dag
Windhof (Koerich)
Programméiersprooch - Programméiersprooch Javascript
25.04.2024
FR
Dag
Windhof (Koerich)
Programméiersprooch - Programméiersprooch Javascript
17.06.2024