Der Programmaufrufstack

Unter dem (Programm)Aufrufstapel (englisch call stack, procedure stack) versteht man einen besonders genutzten Stapelspeicher, der zur Laufzeit eines Programms den Zustand der gerade aufgerufenen Unterprogramme enthält.

Was bedeutet das? Wir betrachten ein Beispiel:

public class Hallo { public Hallo(String name) { System.out.println("Hallo " + name + "!"); GruessGott(name); System.out.println("Ich glaube, gleich verabschiede ich mich..."); AufWiedersehen(); } public void GruessGott(String name) { System.out.println("Grueß Gott, " + name + "!"); } public void AufWiedersehen() { System.out.println("Auf Wiedersehen, bis bald!"); } }

Beim Aufruf des Konstruktors werden also zwei weitere Methoden, also "Unterprogramme", aufgerufen, der Ablauf sieht etwa wie folgt aus.