[Java] Unterschied zwischen Stapelüberlauffehler und Speichermangel

Ein Hinweis darauf, was ich beim Studium von Java Silver recherchiert habe.

Was ist der Unterschied zwischen StackOverflowError und OutOfMemoryError?

Was ist StackOverflowError?

Klasse StackOverflowError Fehler durch Speichermangel im ** Stapelbereich **

[Beispiel für auftretende Situationen] Führen Sie innerhalb einer Methode einen ** rekursiven Aufruf ** durch

[Was ist ein Stapelbereich] Ein Speicherbereich, in dem ** lokale Variablen- und Methodeninformationen ** gespeichert sind. Wie der Name schon sagt, hat es eine stapelartige Datenstruktur (Last-In-, First-Out-Methode).

Wenn Sie weiterhin Ihre eigene Methode innerhalb der Methode aufrufen, sammeln sich die Methodeninformationen im Stapelbereich und Sie werden punktiert. Anschließend erkennt die JVM (Java Virtual Machine), dass der Stapelbereich nicht ausreicht, und löst einen StackOverflowError aus.

Was ist OutOfMemoryError?

Klasse OutOfMemoryError

Wird ausgelöst, wenn Java Virtual Machine aufgrund von Speichermangel kein Objekt zuordnen kann und der Garbage Collector keinen verfügbaren Speicher mehr reservieren kann.

Fehler durch Speichermangel im ** Heap-Bereich **

[Beispiel für auftretende Situationen] ** Endlosschleife ** passiert (Referenz: OutOfMemoryError-Ausnahmen verstehen)

[Was ist Heap-Bereich] Ein Bereich zum Speichern von ** Instanz ** -Informationen.

Zusammenfassung

Ein StackOverflowError tritt auf, wenn der der JVM zugewiesene Speicher (Stack) voll ist. Wenn die JVM keinen Speicher zuordnen kann, tritt ein OutOfMemoryError auf.

Verweise

・ [Was ist der Stapelbereich](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

[Java] Unterschied zwischen Stapelüberlauffehler und Speichermangel
[Java] Unterschied zwischen == und gleich
[Java] Unterschied zwischen Hashmap und HashTable
[Java] Unterschied zwischen der Zuweisung der Basistypvariablen und der Zuordnung der Referenztypvariablen
[Java] Unterschied zwischen Array und ArrayList
[Java] Unterschied zwischen Closeable und AutoCloseable
[Java] Unterschied zwischen StringBuffer und StringBuilder
[Java] Unterschied zwischen Länge, Länge () und Größe ()
Unterschied zwischen pop () und peek () im Stapel
[Für Anfänger] Unterschied zwischen Java und Kotlin
Unterschied zwischen isEmpty und isBlank von StringUtils
[Java] Unterschied zwischen Intstream-Bereich und rangeClosed
Unterschied zwischen int und Integer in Java
[Java] Verstehe den Unterschied zwischen List und Set
Unterschied zwischen next () und nextLine () in Java Scanner
[Java] Klassifizierungsnotiz für Kompilierungsfehler und Laufzeitfehler
Unterschied zwischen Mitglied und Sammlung von Schienen route.rb
[Java] Unterschied zwischen "endgültiger Variable" und "unveränderlichem Objekt"
Unterschied zwischen vh und%
Unterschied zwischen i ++ und ++ i
[Java] Unterschied zwischen statischem final und final in Mitgliedsvariablen
[JAVA] Was ist der Unterschied zwischen Schnittstelle und Zusammenfassung? ?? ??
[Java-Anfänger] Unterschied zwischen Länge und Länge () ~ Ich weiß nicht ~
Unterschied zwischen Produkt und Variante
[Docker-compose] Unterschied zwischen env_file und Umgebung. Informationen zur Priorität der Anwendung von Umgebungsvariablen
Unterschied zwischen redirect_to und render
[Java] Stapelbereich und statischer Bereich
Unterschied zwischen Java und JavaScript (wie man den Durchschnitt findet)
Unterschied zwischen redirect_to und render
Unterschied zwischen CUI und GUI
Unterschied zwischen Variablen und Instanzvariablen
Unterschied zwischen Mockito-Core und Mockito-All
Unterschied zwischen Klasse und Instanz
Unterschied zwischen Bundle und Bundle-Installation
[Java] Überprüfen Sie den Unterschied zwischen orElse und orElseGet mit IntStream
Unterschied zwischen ArrayList und LinkedList
Unterschied zwischen render und redirect_to
Unterschied zwischen List und ArrayList
Java Generics T und? Unterschied
Vor- und Nachteile von Java
Unterschied zwischen .bashrc und .bash_profile
Unterschied zwischen StringBuilder und StringBuffer
Unterschied zwischen render und redirect_to
Zusammenfassung der Java-Fehlerverarbeitung
Ist die Kurzschlussauswertung wirklich schnell? Unterschied zwischen && und & in Java
Geben Sie die Differenz zwischen jedem Feld zweier Objekte in Java aus
Nach dem Wechsel zwischen Java 8 und 11 tritt bei der Bestätigung ein Fehler auf
Unterschied zwischen UI-Beschriftung durch Char Wrapping und Word Wrapping in der japanischen Anzeige
[Java] Was ist der Unterschied zwischen Form, Entität und dto? [Bohne]
[Ruby] Unterschied zwischen get und post
Unterschied zwischen Instanzmethode und Klassenmethode
Unterschied zwischen Schnittstelle und abstrakter Klasse
Unterschied zwischen == Operator und Methode gleich
Unterschiede zwischen "Anfänger" Java und Kotlin
Über Biocontainer fastqc und Java