Heim  >  Artikel  >  Java  >  Wie läuft der Ausführungsprozess von Java-Methodenaufrufen im Speicher ab?

Wie läuft der Ausführungsprozess von Java-Methodenaufrufen im Speicher ab?

PHPz
PHPznach vorne
2023-04-18 17:13:031624Durchsuche

1. Prämisse

1. Schematische Darstellung des Stapelspeichers

Wie läuft der Ausführungsprozess von Java-Methodenaufrufen im Speicher ab?

2. Wie führt die JVM die Methode aus???

  • 1. Während der Ausführungsphase lädt der Klassenlader die Klassendatei Das der Methode entsprechende Codefragment wird im Methodenbereich im Speicherbereich abgelegt, sodass die Methode beim nächsten Aufruf der Methode verwendet werden kann.

  • 2. Während des laufenden Prozesses verschiebt die JVM die Codeblöcke in der Methode entsprechend der Reihenfolge der Methodenaufrufe und entsprechend der Ausführungsreihenfolge der Anweisungen in der Methode ( von oben nach unten, von oben nach unten) zum Durchführen von Stack-Popping- und Ausführungsvorgängen

2. Regeln für den Methodenaufruf

Wenn eine Methode

aufgerufen wird Beim ersten Mal wird die entsprechende Methode über den Klassenlader geladen. Der Codeblock wird in den Methodenbereich des Speichers geladen. Jedes Mal, wenn eine Methode aufgerufen wird, entspricht dies einem Stack-Push-Prozess Anweisungen in der Methode werden ausgeführt, die Methode wird vom Stapel entfernt (wenn der Stapel nicht entfernt wird, tritt irgendwann eine Stapelüberlaufausnahme auf)

2 Prozessdiagramm des Methodenaufrufs des gesamten Programms show1()-Methode wird die show1()-Methode auf den Stapel verschoben und führt die Anweisungen in der show1-Methode aus Die Methode show1 hält an, schiebt dann die Methode show2 auf den Stapel und führt dann den Inhalt der Methode show2 aus

3.4 Wenn der Inhalt der Methode show2 ausgeführt wird, wird die Methode show2 vom Stapel entfernt und ausgeführt an den Ort zurückgegeben, an dem die Methode show2 in der Methode show1 aufgerufen wurde. Wenn für den Rückgabewert keine Zuweisungsoperation vorhanden ist, werden die folgenden Anweisungen ausgeführt

3.5 Nach der Ausführung der Methode show1 wird die Methode show1 ausgeführt Die Methode öffnet den Stapel, kehrt zu der Stelle zurück, an der die Methode show1 aufgerufen wird, und führt dann den Methodenaufruf show1 und die folgenden Anweisungen aus

Wie läuft der Ausführungsprozess von Java-Methodenaufrufen im Speicher ab?

4 Screenshot des laufenden Beispielcodes

Das obige ist der detaillierte Inhalt vonWie läuft der Ausführungsprozess von Java-Methodenaufrufen im Speicher ab?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:yisu.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen