JVM (c) 가상 머신 스택의 개요 및 축전 유닛의 스택

VM 스택 개요

  VM은 배경을 표시 스택 :

    때문에 크로스 플랫폼 디자인, 자바 지침은 스택에 따라 설계되었습니다. 다른 다른 CPU 아키텍처, 그것은 레지스터 기반으로 설계되지 않았습니다

    크로스 플랫폼의 장점 : 작은 명령어 세트, 컴파일러는 구현하기 쉽고, 단점은 동일한 기능 필요 더 많은지도를 실시, 성능 저하입니다.

    힙이 기억 장치 동안 스택 단위는, 실행

      스택 프로그램, 즉 어떻게 프로그램을 실행하거나, 방법, 즉 어떻게 데이터를 배치, 데이터 저장 문제를 해결 힙, 데이터를 처리하기 위해 운영 문제를 해결하기 위해 어떤에

    지역 변수와 주소로 몇 몇 참조는 스택에 배치 할 수 있습니다

  Java 가상 머신 스택은 무엇입니까 :

    자바 가상 머신 스택, 자바 스택으로 알려진 이전 또한, 각 스레드는 내부 스택 프레임 중 하나 저장 (스택 프레임), 메소드 호출 스택 프레임과 대응을 사용자가 만든 가상 머신 스택을 만듭니다

    그것은 개인 스레드

  수명주기 :

    스레드와 일치

  역할 :

    Java 프로그램의 실행을 담당하는 로컬 변수, 그 보존 방법 (8 개 가지 기본 데이터 타입, 오브젝트 참조 어드레스) 부분 결과 및 메서드 호출 및 리턴에 참여

      두 범주 형 변수가 시스템 포인트입니다

      멤버 변수 VS 지역 변수 (라는 특성)

      기본 데이터 변수 VS 참조 형 변수 (기초 어레이, 인터페이스)

 

   스택 특징 : 스토리지를 할당하는 빠르고 효율적인 방법 두 번째는 프로그램 카운터 액세스 속도에있다

       JVM 자바 스택, 두의 직접 조작

          1 스택에 각각의 방법의 구현과 함께

          2 스택 작업 종료 후

       가비지 콜렉션은 스택 그것에 대한 문제가되지 않지만이 OOM

  예외 스택가 발생할 수 있습니다 :

        Java 가상 머신 사양은 자바 스택 크기는 동적 또는 고정되어 있습니다. 두 개의 탈선에 해당 그래서

        (1)은 고정 된 크기의 스택을 자바 가상 머신의 사용은, Java 가상 머신의 용량을 각 스레드는 독립적 작성시에 선택 될 수있다. 스레드 스택 할당 요청이 허용되는 자바 가상 머신 더 큰 용량의 용량을 초과하는 경우는 예외가 StackOverflowError가 슬로우됩니다

        충분한 메모리에 적용되지 확장하는 동안 2, 자바 가상 머신 스택 확장 성, 다음 OutOfMemoryError를 던져

 

  스택의 크기를 설정합니다 : -Xss를

  

 

 

 

스택 저장 부

  무엇 스택 예금?

 

    스레드 스택을 보유하고 내부 스택 데이터가 스택 프레임 포맷으로 존재

    이 방법에서, 각 실행 스레드는 각각의 스택 프레임을

    스택 프레임은 데이터의 세트는, 메모리 영역 인 방법의 실행시에 각종 데이터를 유지한다.

        OOP의 기본 개념 : 클래스, 객체,

        형태의 기본 구조 : 필드 (속성 필드, 필드) 방법

  작동 원리를 스택 :

    두 직접 동작 JVM 스택, 즉, 스택 및 스택 프레임 POP에 푸시 푸시, LIFO 따라

    이벤트에서 스레드 특정 시점이 하나의 활성 스택 프레임, 스택 프레임이 현재 실행되는 방법으로서, 호출은 현재 스택 프레임 (현재 프레임)가있을 것이며, 해당 방법은 전류 법 (전류 법)이 정의이고 현재 클래스의 메소드는 클래스 (현재 클래스)이다.

    바이트 코드 명령 실행 엔진은 현재 스택 프레임에 대해서만 작동

    현재의 방법은 새로운 스택 프레임에 대응하는 다른 방법을 호출하는 경우 새로운 현재 스택 프레임 호출 스택의 상단상에서 생성된다.

    스택 프레임은 다른 스레드가 다른 스레드의 스택 프레임 호출 할 수 없습니다 스택 프레임 [알리 JVM 프로세스가 불합리한 자원을 호출 할 수 있습니다]이 있다는 것을, 서로 참조 할 수 없습니다 포함

    현재의 방법은 다른 방법을 호출하는 경우, 메소드가 스택 프레임에 실행이 방법의 결과 전에 현재 스택 프레임 반환의 기회를 반환, 스택 프레임을하기 전에, 현재 스택 프레임을 폐기하는 다음 가상 기회는 현재 스택 프레임이된다.

    Java 메소드의 두 가지 방법이 복귀 명령을 사용하여가 일반에 반환을 기능이 있습니다, 다른 하나는 발생합니다, 방법은 사용하지 않은, 스택 프레임이 튀어되는 원인이됩니다

추천

출처www.cnblogs.com/Timeouting-Study/p/12511904.html