• 技术文章 >java >java基础

    java虚拟机中栈的运行原理

    小妮浅浅小妮浅浅2021-08-09 10:38:16原创4327

    运行原理

    1、不同线程中所包含的栈帧是不允许存在相互引用的。

    2、如果当前方法调用了其他方法,方法返回之际,当前栈帧会传回此方法的执行结果给当前一个栈针,并且虚拟机会丢弃当前栈帧,使得前一个栈帧重新成为当前栈帧。

    3、Java方法有两种返回函数的方式。

    一种是正常的函数返回,使用return指令;另一种是抛出异常。不管使用哪种方式,都会导致栈帧被弹出。

    实例

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    16

    17

    18

    19

    20

    21

    22

    23

    24

    25

    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虚拟机 栈
    上一篇:java伪泛型的介绍 下一篇:java操作数栈的介绍

    相关文章推荐

    • java注解的本质探究• java中@Override注解是什么• java伪泛型的介绍

    全部评论我要评论

    © 2021 Python学习网 苏ICP备2021003149号-1

  • 取消发布评论
  • 

    Python学习网