
Runtime Data Area Method Area바이트 코드를 처음 메모리 공간에 올릴 때 초기화되는 대상을 저장하기 위한 메모리 공간새로운 객체를 만들 때 Method Area를 참고하여 Heap에 실제 객체의 값을 저장한다1) Runtime Constant Pool클래스 별로 런타임 상수 풀을 가지고, 클래스 및 인터페이스의 상수/메서드와 필드에 대한 모든 레퍼런스에 대한 정보를 가짐JVM은 어떤 메서드나 필드를 참조할 때 런타임 상수풀을 통해 해당 메서드나 필드의 실제 메모리상 주소를 찾아 참조함동작 과정A 클래스에서 B 클래스를 참조하고 있다면, 클래스 로더는 B 클래스가 Method Area에 로딩되어 있는지 확인만약 Method Area 에 있다면 해당 클래스의 레퍼런스를 B 클래스를 참조..

JDK JRE JVM1) JVM (Java Virtual Machine)자바로 작성된 프로그램의 바이트코드(.class)를 운영체제에 맞는 기계어로 변환하고 실행하는 역할2) JRE (Java Runtime Environment) → 실행자바 실행환경, JVM + 프로그램 실행에 필요한 핵심 라이브러리(API) 등을 포함한 패키지3) JDK (Java Development Kit) → 개발자바 개발키트, JRE + 자바앱 개발을 위한 모든 도구(컴파일러, 디버거, 문서화 도구 등)JVM 구조1) Class LoaderJVM 내로 클래스 파일(바이트 코드)을 로드하고, 링킹*을 수행하는 모듈런타임 시에 동적으로 클래스를 로드 (동적로딩) ✅ 링킹JVM이 클래스 파일을 로드한 후, 해당 클래스가 안전하게 실..