まず、メソッドAがメソッドBのバイトコードを呼び出し、PCが現在のスタックフレームのバイトコードの実行位置を記録し、メソッドBが呼び出されると、Bスタックフレームの構築時にBスタックフレームが返されます。アドレスは、呼び出しに戻るためにバイトコード実行の位置に割り当てられ、対応するメソッドBのローカル変数テーブルにパラメーターを格納し、メソッドBを現在のスタックフレームに設定し、設定pcを呼び出されるメソッドに設定します。メソッドの最初の命令のオペコードは、メソッドの最初の命令から実行され続け、実行が完了すると(通常の戻りまたは異常な戻り)、メソッドが呼び出された位置に戻ります。現在のスタックフレームに対して、PCはAの元のバイトコード実行位置に戻り、実行を続けます。
JVM仕様のスクリーンショット:
JAVA仮想マシンの詳細な理解、周志明のスクリーンショット: