Funktionsprinzip
1. Stapelrahmen, die in verschiedenen Threads enthalten sind, dürfen nicht aufeinander verweisen.
2. Wenn die aktuelle Methode andere Methoden aufruft und die Methode zurückkehrt, gibt der aktuelle Stapelrahmen das Ausführungsergebnis dieser Methode an die aktuelle Stapelnadel zurück, und die virtuelle Maschine verwirft den aktuellen Stapelrahmen und erstellt den vorherigen Stapel Frame wird wieder zum aktuellen Stack-Frame.
3. Java-Methoden haben zwei Möglichkeiten, Funktionen zurückzugeben.
Einer ist eine normale Funktionsrückgabe, bei der die Rückgabeanweisung verwendet wird; der andere besteht darin, eine Ausnahme auszulösen. Unabhängig von der verwendeten Methode wird der Stapelrahmen geöffnet.
Instanzen
public class StackFrameTest { public static void main(String[] args) { StackFrameTest stackFrameTest = new StackFrameTest(); stackFrameTest.method1(); } public void method1(){ System.out.println("method1()开始执行"); method2(); System.out.println("method1()执行结束"); } public int method2(){ System.out.println("method2()开始执行"); int i = 100; int m = (int)method3(); System.out.println("method2()即将结束"); return i + m; } public double method3(){ System.out.println("method3()开始执行"); double j = 3.1; System.out.println("method3()即将结束"); return j; } }
Das obige ist der detaillierte Inhalt vonBeispielhafte Analyse des Funktionsprinzips des Stacks in der Java Virtual Machine. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!