>  기사  >  Java  >  Java 가상 머신의 스택 작동 원리 분석 예

Java 가상 머신의 스택 작동 원리 분석 예

WBOY
WBOY앞으로
2023-04-18 10:46:021018검색

작동 원리

1. 서로 다른 스레드에 포함된 스택 프레임은 서로 참조할 수 없습니다.

2. 현재 메서드가 다른 메서드를 호출하는 경우 메서드가 반환되면 현재 스택 프레임은 이 메서드의 실행 결과를 현재 스택 바늘로 반환하고 가상 머신은 현재 스택 프레임을 삭제하여 이전 스택을 만듭니다. 프레임이 다시 현재 스택 프레임이 됩니다.

3. Java 메서드에는 함수를 반환하는 두 가지 방법이 있습니다.

하나는 일반적인 함수 반환이고, 다른 하나는 예외를 발생시키는 것입니다. 어떤 방법을 사용하든 스택 프레임이 팝됩니다.

인스턴스

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으로 문의하시기 바랍니다. 삭제