CH16-1 · MODEL

클래스 로딩, 바이트코드와 JIT: 먼저 구분할 경계

Java 소스는 바이트코드로 컴파일되고 JVM은 필요한 클래스를 로드해 검증하고 연결하고 초기화합니다.

핵심 경계

로딩은 클래스 바이트를 Class 객체로 만든다

부트스트랩, 플랫폼, 애플리케이션 로더가 위임 관계로 클래스를 찾습니다.

핵심 경계

검증과 연결이 바이트코드 안전성을 확인한다

형식과 타입 규칙을 검사하고 정적 필드 공간과 심볼 참조를 준비합니다.

핵심 경계

초기화가 static 초기화 코드를 실행한다

클래스의 첫 적극적 사용에서 정적 필드 초기화와 static 블록이 소스 순서로 실행됩니다.

핵심 경계 부트스트랩, 플랫폼, 애플리케이션 로더가 위임 관계로 클래스를 찾습니다.