[Java] JVM의 개념과 구조
JVM이란? JVM (Java Virtual Machine)은 자바 바이트 코드(.class 파일 형태의 중간 코드)를 실행하기 위한 가상 머신입니다. JVM의 구조 JVM의 구조는 크게 3가지 컴포넌트로 나뉩니다. 클래스 로더, 런타임 데이터 영역, 실행 엔진으로 나뉘어집니다. 클래스 로더 클래스 로더는 JVM이 시작될 때 필요한 .class 파일들을 메모리에 로드하는 역할을 합니다. Loading, Linking, Initializtion 세단계로 이루어집니다. Loading : .class 파일들을 바이트 코드로 읽어와 메모리에 적재합니다. Linking : 검증, 준비, 해석 등의 과정을 통해 바이트 코드가 올바른지 확인하고 정적 변수에 메모리를 할당합니다. Initialization : 모든 정..