Maison  >  Article  >  Java  >  Quelles sont les causes et les solutions du débordement de pile ?

Quelles sont les causes et les solutions du débordement de pile ?

青灯夜游
青灯夜游original
2021-06-25 14:33:1916388parcourir

Cause : La capacité totale des objets créés dépasse la capacité maximale du tas. Solution : S'il s'agit d'une fuite de mémoire, recherchez l'emplacement de fuite spécifique en fonction de la chaîne de référence de l'objet qui a provoqué le débordement et modifiez-le ; s'il s'agit d'un débordement de mémoire, vérifiez les paramètres du tas de la JVM pour vérifier si le le cycle de vie de certains objets est trop long ou le stockage est trop long. Des problèmes tels qu'une conception déraisonnable seront corrigés.

Quelles sont les causes et les solutions du débordement de pile ?

L'environnement d'exploitation de ce tutoriel : système windows7, version java8, ordinateur DELL G3.

Débordement du tas Java

Cause : La capacité totale des objets créés dépasse la capacité maximale du tas.

Type de débordement : java.lang.OutOfMemoryError.

Solution :

  • Dépanner s'il est causé par un débordement de mémoire ou une fuite de mémoire : utilisez des outils de surveillance des performances tels que jconsole pour obtenir un instantané de la mémoire du tas pour voir qu'est-ce qui cause le débordement ? Si l'objet est nécessaire, sinon, il fuit, si c'est le cas, il déborde.

  • Fuite de mémoire : vérifiez la chaîne de référence GC ROOTS de l'objet qui a provoqué le débordement, recherchez l'emplacement spécifique de la fuite de mémoire en fonction de la chaîne de référence et apportez des modifications.

  • Débordement de mémoire : vérifiez les paramètres des paramètres du tas de la JVM (-Xmx : mémoire maximale de la JVM et -Xms : mémoire initiale de démarrage) pour voir s'il y a de la place pour un ajustement vers le haut, puis démarrez à partir de ; code Vérifiez si le cycle de vie de certains objets est trop long ou si la conception du stockage est déraisonnable.

Tutoriels vidéo associés recommandés : Tutoriel vidéo Java

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn