Une note de ce que j'ai recherché en étudiant Java Silver.
Classe StackOverflowError Erreur causée par un manque de mémoire dans la ** zone de pile **
[Exemple de situations qui se produisent] Faire un ** appel récursif ** dans une méthode
[Qu'est-ce qu'une zone de pile] Une zone de mémoire qui stocke ** les informations de variable locale et de méthode ** Comme son nom l'indique, il a une structure de données de type pile (méthode du dernier entré, premier sorti).
Si vous continuez à appeler votre propre méthode dans la méthode, les informations de méthode s'accumuleront dans la zone de pile et vous serez percé. Ensuite, la JVM (Java Virtual Machine) détecte que la zone de pile est insuffisante et déclenche une StackOverflowError.
Lancé lorsque la machine virtuelle Java ne peut pas allouer un objet en raison d'un manque de mémoire et que le garbage collector ne peut plus allouer de mémoire disponible.
Erreur causée par un manque de mémoire dans la ** zone de tas **
[Exemple de situations qui se produisent] ** Une boucle infinie ** se produit (Référence: Understanding OutOfMemoryError Exceptions)
[Qu'est-ce que la zone de tas] Une zone pour stocker les informations ** instance **.
Une StackOverflowError se produit lorsque la mémoire (pile) allouée à la JVM est pleine. Si la JVM ne parvient pas à allouer de la mémoire, une erreur OutOfMemoryError se produit.
・ [Quelle est la zone de pile](http://www.kab-studio.biz/Programing/JavaA2Z/Word/00000987.html#:~:text=%E3%83%A1%E3%83%A2%E3% 83% AA% E4% B8% 8A% E3% 81% AE% E3% 80% 81% E3% 83% AD% E3% 83% BC% E3% 82% AB% E3% 83% AB% E5% A4% 89% E6% 95% B0,% E6% A0% BC% E7% B4% 8D% E3% 81% 99% E3% 82% 8B% E9% A0% 98% E5% 9F% 9F% E3% 81% AE % E3% 81% 93% E3% 81% A8% E3% 80% 82 & text = JVM% E3% 81% 8C% E4% BD% BF% E7% 94% A8% E3% 81% 99% E3% 82% 8B % E3% 83% A1% E3% 83% A2% E3% 83% AA,% E7% 8A% B6% E3% 81% AB% E6% A0% BC% E7% B4% 8D% E3% 81% 95% E3% 82% 8C% E3% 82% 8B% E3% 80% 82)
Recommended Posts