首頁 > Java > java教程 > java虛擬機器中堆疊的運行原理實例分析

java虛擬機器中堆疊的運行原理實例分析

WBOY
發布: 2023-04-18 10:46:02
轉載
1064 人瀏覽過

運行原理

1、不同執行緒所包含的堆疊幀是不允許存在相互引用的。

2、如果當前方法呼叫了其他方法,方法返回之際,當前棧幀會傳回此方法的執行結果給當前一個棧針,並且虛擬機會丟棄當前棧幀,使得前一個棧幀重新成為當前堆疊幀。

3、Java方法有兩種回傳函數的方式。

一種是正常的函數返回,使用return指令;另一種是拋出異常。不管使用哪種方式,都會導致堆疊幀被彈出。

實例

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中文網其他相關文章!

相關標籤:
來源:yisu.com
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板