OOP Warum braucht man den Stack

J

javafrager

Gast
Hallo,

ich hab gelesen auf dem Stack werden lokale Variablen gespeichert und nach Ende des Anweisungsblocks von da wieder entfernt. Was ist aber der Sinn des Stacks? Ich hab irgendwo gelesen den braucht man um sich zu merken an welcher Stelle (nach einem Unterprogrammaufruf) weitergemacht werden soll. Kann das jemand genauer erklären?
 

Dekker

Bekanntes Mitglied
Der Stack wird im normallfall bei Methodenaufrufen genutzt. Dabei werden die Daten vorher auf dem Stack gespeichert damit die Unterfunktion die aufgerufen wird zum einen mehr Platz hat und zum anderen die alten Informationen nicht überschrieben werden. Wenn dann wieder aus dem Unterprogramm herausgesprungen wird, werden die zuvor gespeicherten Daten wieder geladen.
Das ist ein allgemeines Konzept was im Normalfall bei Assemblerprogrammierung wichtig ist.

In Java kommt das ganze vor allem bei der Rekkursion zum Einsatz. Damit die jvm weiß, wo im Programmcode sie gerade stand, muss sie zum einen diese Positionsangabe speichern, zum anderen müssen eventuell noch Daten gesicher werden die in der Methode verwendet werden.

Wenn du nun eine Endlossrekursion gebaut hast oder die Rekursionstiefe aufgrund der Probelmstellung zu tief wird, kann es vorkommen das Java dir eine StackOverflowExcpection (oder so ähnlich) wirft, weil eben der Stack zu voll wurde.
 
S

Spellsleeper

Gast
Auf dem Stack werden eigentlich nur die lokalen Methoden und variablen gebunkert bis sie nicht mehr gebraucht werden(Danach landen sie im GarbageCollector). Würden alle Variablen auf dem Heap gespeichert wäre der irgendwann so voll das der PC nichts mehr auf die reihe bekommen würde.
Beim Stack laufen die nötigen Variablen und Methoden oben rein und wenn sie nicht mehr gebraucht werden dann eben weg damit.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
X wie bekomme ich durch Eingabeaufforderung definierte double in einen Befehl, welcher 3 erwartete double braucht? Java Basics - Anfänger-Themen 3
celta_vigo Programmieranfänger braucht Rat zu mehr Praxisnähe Java Basics - Anfänger-Themen 8
K Für was braucht man die left und right shift operatoren? Was bringen die, also welchen Zweck haben die? Java Basics - Anfänger-Themen 15
D Zahlentabelle Anfänger braucht Hilfe Java Basics - Anfänger-Themen 1
U anfänger braucht hilfe . wir konnten die aufgaben nicht beantworten Java Basics - Anfänger-Themen 5
Devin Wie lange braucht man um Java zu beherrschen und wie kann man es am schnellsten erlernen? Java Basics - Anfänger-Themen 7
L Anfänger braucht Hilfe - Stecke beim Lernen fest Java Basics - Anfänger-Themen 10
ruutaiokwu Bluetooth-Zugriff, braucht es dazu plattformabhängige Libraries oder kann das Java mittlerweile selbst? Java Basics - Anfänger-Themen 10
S Ein Java Anfänger braucht Hilfe Java Basics - Anfänger-Themen 5
T Erste Schritte Endlosschleife & wozu braucht man /* und */ Java Basics - Anfänger-Themen 19
F Anfänger braucht Hilfe :) Java Basics - Anfänger-Themen 3
D Anfänger braucht Hilfe Java Basics - Anfänger-Themen 2
V Erste Schritte Java-Anfänger braucht Hilfe bei Arrays Java Basics - Anfänger-Themen 19
J Kleiner Taschenrechner! Anfänger braucht Hilfe :( Java Basics - Anfänger-Themen 2
K Wer braucht die Java3d Bins ? Java Basics - Anfänger-Themen 1
I totaler Anfänger braucht Hilfe Java Basics - Anfänger-Themen 8
T Hallo anfänger braucht Hilfe :D Java Basics - Anfänger-Themen 7
Thallius Best Practice Umsteiger braucht Tipps zur Bildverarbeitung Java Basics - Anfänger-Themen 1
A Erste Schritte Anfängerin braucht Hilfe Java Basics - Anfänger-Themen 5
C Anfänger braucht Hilfe bei Schularbeit Java Basics - Anfänger-Themen 3
F Anfänger braucht Hilfe Java Basics - Anfänger-Themen 24
F Wozu braucht man array list? Java Basics - Anfänger-Themen 29
L Wieviel Speicher braucht ein Pixel? Java Basics - Anfänger-Themen 14
T Java Applet braucht mehrere Minuten zu Start Java Basics - Anfänger-Themen 5
L Klassen Anfänger braucht Hilfe! Probleme mit Javakara.jar Java Basics - Anfänger-Themen 25
D ActionListener braucht zwei Klicks auf Button??? Java Basics - Anfänger-Themen 2
M Erste Schritte Anfänger braucht Denkanstoß für Schulprojekt Java Basics - Anfänger-Themen 21
W Anfänger braucht Hilfe bei Hausübung! Sprachauswahl? Wie? Java Basics - Anfänger-Themen 9
D Anfänger braucht Hilfe:Interface Java Basics - Anfänger-Themen 14
F Wo zu braucht man Kommentar "TODO"??? Java Basics - Anfänger-Themen 20
0 Wozu braucht man Generics? Java Basics - Anfänger-Themen 1
T Interfaces: Braucht man abstrakte Klassen eigentlich noch? Java Basics - Anfänger-Themen 3
D Was ist ein StringReader und wofür braucht man ihn? Java Basics - Anfänger-Themen 2
H Was braucht man oft in Java? Java Basics - Anfänger-Themen 9
X Anfänger braucht hilfe! Java Basics - Anfänger-Themen 4
bigbasti Warum genau braucht man Interfaces? Java Basics - Anfänger-Themen 10
G Textfeld und Label in einem Tab? Anfänger braucht Hilfe Java Basics - Anfänger-Themen 3
G Für was braucht man den This-operator Java Basics - Anfänger-Themen 3
hedges Prog braucht lange, schlecht programmiert? Java Basics - Anfänger-Themen 3
S Blutiger Java Anfänger braucht dringend Hilfe Java Basics - Anfänger-Themen 4
M Braucht jede Klasse eine Schnittstelle ? Java Basics - Anfänger-Themen 4
G unwissender braucht Hilfe bei Umschreibung Java Basics - Anfänger-Themen 4
M noob braucht hilfe Java Basics - Anfänger-Themen 3
E Anfänger braucht Hilfe Java Basics - Anfänger-Themen 6
L JFrame öffnet 2tes JFrame, welches Daten vom 1sten braucht. Java Basics - Anfänger-Themen 21
T Vokabelbuch programmieren - Anfänger braucht Hilfe! Java Basics - Anfänger-Themen 17
M j2ee: was braucht es alles dazu? Java Basics - Anfänger-Themen 3
J blutiger Anfänger braucht Hilfe ^^ Java Basics - Anfänger-Themen 3
S Eingabe überprüfen .. newbee braucht hilfe .. Java Basics - Anfänger-Themen 4
A stack Java Basics - Anfänger-Themen 14
Proxy Stack erweitern mit neuem Array falls der alte voll ist!? Java Basics - Anfänger-Themen 5
V Ist Off-Heap-Speicher dasselbe wie Stack-Speicher? Java Basics - Anfänger-Themen 2
izoards Stack... Java Basics - Anfänger-Themen 17
Csircc Rekursive Methode Stack Overflow Java Basics - Anfänger-Themen 10
B Zahlenfolge von Queue in Stack Java Basics - Anfänger-Themen 29
L Stack bilden, push und pop Java Basics - Anfänger-Themen 16
KogoroMori21 Stack und Heap Speicher Java Basics - Anfänger-Themen 1
G Stack und Queue Arbeitsblatt Java Basics - Anfänger-Themen 3
G Stack programmieren Java Basics - Anfänger-Themen 6
Z Datentypen Stack based calculator Java Basics - Anfänger-Themen 8
F speicherort stack oder heap Java Basics - Anfänger-Themen 1
S Rekursiven Stack Java Basics - Anfänger-Themen 6
Curtis_MC Collections Zufälliges Element aus Stack Java Basics - Anfänger-Themen 2
D Queue vs. Stack Java Basics - Anfänger-Themen 6
P Stack, Heap Java Basics - Anfänger-Themen 13
D Erste Schritte Stack im Rollenspiel Java Basics - Anfänger-Themen 76
J Stack mit Benutzereingabe Java Basics - Anfänger-Themen 17
J Liste,Queue,Stack sortieren Java Basics - Anfänger-Themen 2
C Stack und Queue in Aktion (Bitte Hilfe für die Klausur) Java Basics - Anfänger-Themen 7
S Sequenz von Zahlen bei einem Stack möglich oder nicht möglich? Java Basics - Anfänger-Themen 5
E Stack vs Queue - Gemeinsamkeiten / Unterschiede Java Basics - Anfänger-Themen 7
C Laufzeit von Stack Operation Java Basics - Anfänger-Themen 5
4 Stack over flow bei rekursiver Tiefensuche Java Basics - Anfänger-Themen 5
J Quicksort mit Stack Java Basics - Anfänger-Themen 4
A Anzahl der Elemente in einem Stack wiedergeben Java Basics - Anfänger-Themen 3
T Stack Overflow - Rekursive Fibonacci Java Basics - Anfänger-Themen 10
K Tiefen- und Breitensuche beim Baum durch Stack und Warteschlange Java Basics - Anfänger-Themen 1
L Liste mittels Stack implementieren Java Basics - Anfänger-Themen 0
A Stack programmieren -> Unklarheiten Java Basics - Anfänger-Themen 1
C Stack - listenbasierte Implementierung Java Basics - Anfänger-Themen 4
L Mit rekursiven Aufrufen einen Stack emulieren Java Basics - Anfänger-Themen 1
T Frage zu Java Stack Java Basics - Anfänger-Themen 5
D Stack-Objekt - LIFO - wait(); notify(); Java Basics - Anfänger-Themen 0
J Array von Objekten, wie schauts im Heap / Stack aus ? Java Basics - Anfänger-Themen 7
M Frage zu Stack und Heap Java Basics - Anfänger-Themen 1
Farbenfroh Suche Übungsaufgaben: BinaryTree, Stack Java Basics - Anfänger-Themen 0
D Aufgabe: Stack mit Iterator Java Basics - Anfänger-Themen 8
X Stack mit Oberklasse, wieso funktioniert es nicht? Java Basics - Anfänger-Themen 8
B Stack/Heap Frage Java Basics - Anfänger-Themen 36
K Probleme mit stack Java Basics - Anfänger-Themen 7
K Wofür wird heute noch die Stack Klasse in Java genutzt Java Basics - Anfänger-Themen 4
F Rekursion Tiefensuch-Problem - Stack Overflow Java Basics - Anfänger-Themen 9
P LinkedList - Stack ... grundlegende Frage Java Basics - Anfänger-Themen 5
B Stack in eine verkettete Liste pushen Java Basics - Anfänger-Themen 4
B Queue mit Daten aus einem Stack füllen Java Basics - Anfänger-Themen 21
G Stack invertieren Java Basics - Anfänger-Themen 3
H Pseudo-Stack (char[] stackArray) mit Zeichen aus einer .txt-Datei befüllen Java Basics - Anfänger-Themen 5
S Stack Problem mit Objekt Java Basics - Anfänger-Themen 2
X String mit String von Objekt im Stack vergleichen? Java Basics - Anfänger-Themen 14
D Stack auslesen mit pop Java Basics - Anfänger-Themen 2

Ähnliche Java Themen

Neue Themen


Oben