1. 클래스 로딩 하위 시스템: 파일 시스템 또는 네트워크에서 Class 정보를 로드하는 역할을 담당합니다. 로드된 정보는 메소드 영역이라는 메모리 공간에 저장됩니다.
2. 메소드 영역: 클래스 정보, 상수정보, 문자열리터럴 및 숫자 상수 등을 포함한 상수 풀 정보를 저장합니다. 메소드 영역은 보조 스택의 블록 영구 영역으로, 스택 정보 생성 문제를 해결하기 위한 전제 조건이다.
3. Java 힙은 Java 가상 머신이 시작될 때 생성됩니다. Java 프로그램의 주요 메모리 작업 영역은 거의 모든 objects 인스턴스입니다. 모든 스레드에서 공유됩니다. 힙은 데이터 저장 문제, 즉 데이터를 어디에 어떻게 넣을 것인지를 해결합니다.
4. 직접 메모리: Java의 NIO 라이브러리를 사용하면 Java 프로그램에서 직접 메모리를 사용할 수 있으므로 일반적으로 직접 메모리 속도가 Java 힙보다 좋습니다. 읽고 쓰기가 빈번한 상황에서는 사용을 고려해 볼 수 있습니다.
5. 각 가상 머신 스레드에는 스레드가 생성될 때 개인 스택이 생성됩니다. Java 스택은 로컬 변수, 메서드 매개변수 및 반환 값을 저장합니다. 스택은 프로그램의 실행 문제, 즉 프로그램이 어떻게 실행되거나 데이터를 처리하는 방법을 해결합니다.
6. 로컬 메서드 스택: Java 스택과 매우 유사하며, 가장 큰 차이점은 로컬 메서드 호출에 Java 가상 머신이 사용된다는 점입니다.
7. 가비지 수집 시스템: Java의 핵심이며 필수입니다. Java에는 가비지 청소를 위한 자체 메커니즘이 있으므로 개발자가 수동으로 청소할 필요가 없습니다.
8. PC 레지스터: Java 가상 머신은 언제든지 각 스레드에 대한 PC 레지스터를 생성합니다. 이 메소드를 현재 메소드라고 합니다. method 로컬 메소드가 아닌 경우 PC 레지스터는 현재 실행 중인 명령어를 실행합니다. 로컬 메소드인 경우 레지스터에는 현재 실행 환경 포인터, 프로그램 카운터, 작업 등의 정보가 저장됩니다. 스택 포인터, 계산된 변수 포인터.
9. 가상 머신의 핵심 구성요소는 실행 엔진으로, 일반적으로 사용자는 이를 머신 코드로 먼저 컴파일한 후 실행합니다.
위 내용은 자바 가상 머신의 기본 개념의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!