Was passiert in der Erinnerung nach der Rückkehr?Java

Java-Forum
Anonymous
 Was passiert in der Erinnerung nach der Rückkehr?

Post by Anonymous »

Code: Select all

public class Test{
static int add (int m, int n){
return m+n;
}

public static void main (String[] args){
int a=1;
int b=2;
int c= add(a,b);
}
}
Nehmen Sie den obigen einfachen Code an. Wenn ich die Zeile int c = add(a,b); ausführe, werden im Call-Stack 32 Bit Speicher für die Integer-Variable c reserviert, dann wird die Methode add mit den Parametern 1 und 2 aufgerufen. Dadurch werden zwei neue Bereiche im Speicher (im Call-Stack) für die Parameter m und n erstellt und ihnen die Werte 1 bzw. 2 zugewiesen. Nun schließt der Return die Methode add ab und der für m und n allokierte Speicher wird wieder freigegeben. Anschließend wird c der Wert der Summe zugewiesen. Ist das richtig?
Genauer gesagt: Wo ist der Rückgabewert von add, nach dem Schließen von add, aber vor der Zuweisung an c? Liegt es an der CPU? Oder irre ich mich generell bei der Abwicklung der Retoure?

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post