ホームページ >Java >&#&チュートリアル >Java仮想マシンにおけるスタックの動作原理の解析例
動作原理
1. 異なるスレッドに含まれるスタックフレームは相互に参照できません。
2. 現在のメソッドが他のメソッドを呼び出している場合、メソッドが戻ると、現在のスタック フレームはこのメソッドの実行結果を現在のスタック ニードルに返し、仮想マシンは現在のスタック フレームを破棄します。前のスタックを離れる フレームは再び現在のスタック フレームになります。
3. Java メソッドには関数を返す 2 つの方法があります。
1 つは return 命令を使用した通常の関数リターンであり、もう 1 つは例外をスローするものです。どの方法を使用しても、スタック フレームはポップされます。
例
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; } }
以上がJava仮想マシンにおけるスタックの動作原理の解析例の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。