이 기사는 Java 클래스 로딩 프로세스에 대한 자세한 소개를 제공합니다. 이는 특정 참조 가치가 있으므로 도움이 될 수 있습니다.
Java 파일의 인코딩부터 최종 실행까지의 과정:
JVM 가상 머신은 .class 파일의 클래스 정보를 메모리에 로드하고 해당 클래스 객체를 구문 분석하고 생성하는 과정을 수행합니다. JVM은 처음부터 모든 클래스를 메모리에 로드하지 않고 처음으로 실행해야 하는 클래스를 발견할 때만 한 번만 로드합니다.
클래스 로더를 통해 다양한 소스의 클래스 바이트코드 파일을 메모리로 로드합니다.
JVM은 세 가지 작업을 완료해야 합니다.
클래스 로더
Java 클래스의 바이너리 코드를 JVM에 병합 실행 중인 상태의 프로세스
로드된 바이트 스트림이 가상 머신 사양을 준수하고 보안 오류가 발생하지 않는지 확인
검증 분류
기본 초기값
8가지 기본 유형의 초기값 값, 기본값은 0기호 참조: 문자열이지만 이 문자열은 메서드, 변수, 클래스를 고유하게 식별할 수 있는 관련 정보를 제공합니다
직접 참조: 메모리 주소 또는 오프셋으로 이해됩니다. 가상 머신은 모든 클래스 이름, 메소드 이름, 필드를 결합합니다. 이러한 기호 참조를 특정 메모리 주소 또는 오프셋, 즉 직접 참조로 대체합니다.
초기화
클래스 변수(정적으로 수정된 변수 또는 명령문)의 초기화는 다음과 같은 과정입니다. 클래스 생성자 실행
초기화 프로세스
- 여러 개의 정적 변수와 정적 코드 블록이 동시에 포함되어 있는 경우, 위에서 아래로 순서대로 실행됩니다
위 내용은 Java 클래스 로딩 프로세스에 대한 자세한 소개의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!