Bonjour ?
Vous pouvez trouver l'article complet sur les techniques d'optimisation des performances Java
L'optimisation des performances de votre code est essentielle au succès de votre profil. Saviez-vous que l'étude d'Akamai a révélé que 57 % des consommateurs en ligne abandonnent un site Web si une page met plus de 3 secondes à se charger ? Dans cet article, vous apprendrez comment optimiser votre code Java et améliorer les performances de votre code.
Ne dites plus rien à OutOfMemoryError : impossible de créer un nouveau thread natif.
Les threads virtuels Java, introduits dans Java 19, peuvent améliorer considérablement les performances de votre projet.
Dans les versions précédentes de Java, il n'y avait qu'un seul type de thread (threads classiques) lorsqu'un thread classique est créé, un thread du système d'exploitation est alloué et le nombre de threads est limité aux threads du système d'exploitation.
À partir du JDK 19, vous pouvez créer des threads virtuels beaucoup plus légers que les threads du système d'exploitation et vous pouvez créer et exécuter des milliers de threads virtuels dans une application.
Pour activer les threads virtuels dans une application Spring Boot, ajoutez le code suivant à votre application.properties.
spring.threads.virtual.enabled=true
De nombreux problèmes de performances surviennent lors de la récupération de données dont vous n'avez pas besoin.
Il est recommandé de charger les objets uniquement lorsque cela est nécessaire.
Par exemple, vous pouvez utiliser FetchLazy dans Hibernate, mais gardez toujours à l'esprit que la stratégie de récupération appropriée dépend du cas d'utilisation spécifique auquel vous faites face.
fetch = FetchType.LAZY
Réduisez l'accès au disque en mettant en cache les données fréquemment consultées. En utilisant des techniques de mise en cache appropriées, vous pouvez réduire la latence, éviter la congestion du réseau et améliorer la disponibilité du contenu.
Le framework Spring prend en charge divers fournisseurs de cache, notamment Redis, Caffeie, Cache2k, etc...
Lors du choix d'une stratégie de génération de clés dans JPA, il est important de sélectionner celle qui correspond le mieux à la base de données que vous utilisez.
GenerationType.TABLE
Évitez d'utiliser GenerationType.TABLE pour sa surcharge de performances. Chaque fois qu'une clé primaire est nécessaire, une instruction LOCK est exécutée, accompagnée d'une sélection et d'une mise à jour sur la table de séquence.
GenerationType.IDENTITY
GenerationType.IDENTITY est le mieux adapté à MySQL car MySQL utilise des champs à incrémentation automatique et GenerationType.IDENTITY fonctionne bien avec cela.
GenerationType.SEQUENCE
GenerationType.SEQUENCE est généralement utilisé avec PostgreSQL et Oracle. Les deux bases de données prennent en charge les séquences, qui sont des objets de base de données générant une séquence de nombres uniques.
Le cache du plan de requête d'Hibernate est une fonctionnalité clé qui peut améliorer les performances de votre application.
Lorsque hibernate exécute une requête JPQL, la requête SQL correspondante doit être générée. Ce processus implique d'analyser la requête dans un arbre de syntaxe abstraite, de traduire l'arborescence en requête SQL et enfin de mapper le résultat sur des objets Java.
Une fois ce processus terminé, hibernate met le processus en cache afin qu'il n'ait pas besoin de répéter ces étapes pour la même requête.
Pour activer et configurer le cache du plan de requête, utilisez le code suivant :
hibernate.query.plan_cache_max_size=2048 # Nombre maximum de plans de requête dans le cache
hibernate.query.plan_parameter_metadata_max_size=128 # Taille maximale des plans de requête avec métadonnées de paramètres
L'optimisation des performances du code Java est essentielle pour fournir des applications rapides et réactives.
En tirant parti de fonctionnalités modernes telles que les threads virtuels, en mettant en œuvre un chargement différé, en utilisant des stratégies de mise en cache efficaces et en optimisant les opérations de votre base de données, vous pouvez améliorer considérablement les performances de votre application.
Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.
Copyright© 2022 湘ICP备2022001581号-3