자동 메모리 관리에 대해 이야기한 후 실행 하위 시스템에 대해 이야기해 보겠습니다. 실행 하위 시스템은 JVM이 프로그램을 실행하는 방법을 설명합니다.
클래스 파일 개요
이 문서에서는 클래스 파일에 대해서만 설명합니다. 클래스 파일은 클래스 파일 또는 바이트코드 파일이라고도 합니다. javac는 .java 파일(소스 코드)을 .class 파일(바이트코드)로 컴파일하고 jvm은 .class 파일을 기계어 코드로 해석합니다.
클래스 파일에는 Java 가상 머신 명령어 세트와 기호 테이블 및 기타 여러 보조 정보가 포함되어 있습니다. 8바이트를 기본 단위로 간격이 없는 바이너리 스트림 집합입니다.
데이터를 저장하는 데에는 부호 없는 숫자와 테이블이라는 두 가지 구조가 있습니다.
(1) 부호 없는 숫자는 UTF-8로 인코딩된 숫자, 색인 참조, 수량 값 또는 문자열 값을 설명하는 데 사용됩니다. 기본 데이터 유형에 속하며 u1, u2, u4 및 u8은 각각 1바이트, 2바이트, 4바이트 및 8바이트를 나타냅니다.
(2) 테이블은 부호 없는 여러 숫자 또는 기타 여러 개의 숫자로 구성됩니다. 테이블은 복합입니다. "_info"로 끝나는 데이터 항목으로 구성된 데이터 유형입니다.
특징은 클래스 파일에서 어떤 바이트가 무엇을 나타내는지, 길이는 무엇인지, 순서는 변경할 수 없다는 것입니다.
클래스 파일 구성 요소
클래스 구성 요소는 위 그림에 명확하게 나열되어 있습니다. 또한 상수 풀을 강조할 필요가 있습니다. 가상 머신이 실행 중일 때 해당 기호 참조는 상수 풀에서 가져온 다음 클래스가 생성되거나 런타임될 때 특정 메모리 주소로 구문 분석되고 변환되어야 합니다.
위 내용은 JAVA 가상 머신에 포함된 클래스 파일 부분입니다. 관련 질문이 더 필요하시면 PHP 중국어 웹사이트를 방문하세요: JAVA 비디오 튜토리얼
위 내용은 JAVA 가상 머신(JVM)에 대한 자세한 소개(4) - 클래스 파일 구조의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!