java虚拟机中栈的运行原理

美女程序员鼓励师

运行原理

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虚拟机中栈的运行原理,希望对大家有所帮助。更多Java学习指路:Java基础

本教程操作环境:windows7系统、java10版,DELL G3电脑。

以上是 java虚拟机中栈的运行原理 的全部内容, 来源链接: utcz.com/z/545203.html

回到顶部