-
자바 실행 환경(JVM)은 Java 애플리케이션을 실행하는데 필요한 기본적인 구성 요소들을 제공하며, 이들은 BOOTSTRAP CLASS LOADER에 의해 로딩된다 👷
-
JAVAVM은 시스템 Class와 같은 기본적인 Java 기능을 제공하는 "기본 라이브러리"를 사용하기 때문에, 이러한 라이브러리들은 BOOTSTRAP CLASS LOADER를 통해 로딩된다 📚
-
PLATFORM CLASS LOADER는 extends라고 불리는 기본 Java 라이브러리를 탑재한 확장 기능을 제공하며, JVM 구현자에 의해 특정 JVM의 확장 기능에 적용된다 ⚙️
-
APPLICATION CLASS LOADER는 개발자가 직접 작성하고 사용하는 클래스들을 로드하여 애플리케이션의 동작을 가능하게 합니다 💪
-
자바 클래스 로딩은 특정 특징(정의)에 대한 데이터(바이트 코드)를 가져오는 과정으로, 먼저 .java 파일을 컴파일하여 .class 파일을 만들고 이 파일은 바이너리 코드로 변환된다 💻
-
JVM은 .class 파일의 바이트 코드를 읽어 올 때 바이트 스트림 형식에 맞춰 로드합니다 🌊
-
자바에서 클래스 로딩 프로세스는 연결(linking) 과정을 거치는데, 초기 로딩 단계에서 메타데이터를 검증하고 각 클래스의 구성 요소를 해석 후 정의된 메소드와 변수들을 파악합니다 🤔
-
자바는 컴파일 시점에 발생하는 오류가 구체적이며, 실행 시점에 발생하는 오류가 명확하게 구분됩니다.
-
자바에서 클래스의 초기화 단계 과정은 constructor 호출 전에 필수적인 단계를 거쳐 진행됩니다 🏗️