자바 가상 컴퓨터 스 택 운영 지식 총화
1.서로 다른 스 레 드 에 포 함 된 스 택 프레임 은 서로 참조 할 수 없습니다.
2.현재 방법 이 다른 방법 을 호출 하면 방법 이 돌아 올 때 현재 스 택 프레임 은 이 방법의 실행 결 과 를 현재 스 택 바늘 에 전달 하고 가상 기 회 는 현재 스 택 프레임 을 버 려 서 이전 스 택 프레임 을 현재 스 택 프레임 으로 다시 만 듭 니 다.
3.자바 방법 은 두 가지 함수 반환 방식 이 있 는데 하 나 는 정상 적 인 함수 반환 이 고 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;
}
}
지식 포인트 확장:1.자바 스 택 은 가상 스 택 이 라 고도 부 릅 니 다.즉,우리 가 흔히 말 하 는 스 택 입 니 다.자바 스 택 은 자바 방법 으로 실 행 된 메모리 모델 입 니 다.
2.자바 스 택 에 저 장 된 것 은 스 택 프레임 입 니 다.스 택 프레임 마다 호출 되 는 방법 에 대응 합 니 다.스 택 프레임 에는 부분 변수 표(Local Variables),작업 스 택(Operand Stack),현재 방법 에 속 하 는 클래스 의 운행 상 당량 탱크(운행 상 당량 탱크 의 개념 은 방법 구역 부분 에서 회담)의 인용(Reference to runtime constant pool)을 포함 합 니 다.방법 은 주소(Return Address)와 추가 정 보 를 되 돌려 줍 니 다.스 레 드 가 하나의 방법 을 실행 할 때 이에 대응 하 는 스 택 프레임 을 만 들 고 스 택 프레임 을 스 택 합 니 다.방법 이 실 행 된 후에 스 택 프레임 을 스 택 에서 꺼 냅 니 다.그래서 방법 에 대해 서 는 자원 회수 설 이 존재 하지 않 는 다.
3.부분 변수 표 는 말 그대로 설명 할 필요 가 없 을 것 입 니 다.그 역할 을 알 고 계 시 겠 죠?방법 에 있 는 부분 변 수 를 저장 하 는 것 입 니 다.기본 데이터 형식의 변 수 는 그 값 을 직접 저장 하고 인용 유형의 변 수 는 대상 을 가리 키 는 인용 을 저장 합 니 다.부분 변수 표 의 크기 는 컴 파일 러 에서 크기 를 확인 할 수 있 기 때문에 프로그램 이 실행 되 는 동안 부분 변수 표 의 크기 는 변 하지 않 습 니 다.
4.스 택 을 조작 할 때 데이터 구조 에서 스 택 을 배 웠 을 것 입 니 다.스 택 의 친 구 는 표현 식 의 값 을 구 하 는 문제 가 낯 설 지 않 을 것 입 니 다.스 택 의 가장 전형 적 인 응용 은 표현 식 에 대한 값 을 구 하 는 것 입 니 다.하나의 스 레 드 실행 방법 을 생각 하 는 과정 에서 사실은 문 구 를 계속 집행 하 는 과정 이 고 결국은 계산 하 는 과정 이다.따라서 프로그램의 모든 계산 과정 은 조작 수 에 의 한 것 이 라 고 할 수 있다.
이상 은 자바 가상 머 신 에서 스 택 의 운영 지식 을 정리 한 상세 한 내용 입 니 다.자바 가상 머 신 에서 스 택 의 운영 원리 에 관 한 자 료 는 저희 의 다른 관련 글 을 주목 하 시기 바 랍 니 다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
자바 스 택 을 이용 하여 링크 와 정렬 을 반전 시 키 는 작업원본 링크: 반전 후의 링크: 스 택 을 통 해 체인 시트 의 방향 을 반전 시 키 는 것 은 매우 간단 하 다.이것 은 스 택 이 데이터 구조 로 서 용도 가 매우 광범 위 하 다 고 말 했 을 뿐이다.오늘 소개 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.