728x90
자바 가상머신은 자바 응용 프로그램을 실행하는 런타임 엔진 역할을 한다.
wora의 핵심.
.java -> .class
자바 가상 머신의 모습이다.
->로딩
자바 컴파일러에 의해 생성된 .class 파일이 들어오면 class loader가 파일에서 바이너리 데이터를 생성해 메서드 영역에 저장한다.
메소드 영역에는 class, interface, enum의 여부, modifier, 변수, 메서드 정보 등을 저장한다.
다음으로는 힙 메모리에 class 유형의 객체를 생성한다. 이 객체는 java.lang 패키지에 미리 정의된 클래스 유형들이다. 해당 class 객체에는 클래스의 이름, 부모의 이름, 메서드, 변수 등의 정보가 저장된다. .getClass 메서드를 통해 해당 정보를 가져올 수 있다.
모든 .class 파일에 대해서는 하나의 클래스 객체만 생성된다.
->연결
검증, 준비, 해결 과정을 수행한다.
검증은 .class 파일의 정확성을 보장한다. java.lang.VerifyError 에러가 발생할 수 있다.
준비는 jvm 클래스 변수에 대한 메모리를 할당하고 메모리를 기본값으로 초기화한다.
해결
->초기화
728x90
'기타 > 자바-스프링' 카테고리의 다른 글
maven 다루는 법 (0) | 2022.05.19 |
---|---|
스프링으로 rest 서비스 구축하기 (1) | 2022.05.19 |
자바 배열 (java array) (0) | 2022.05.19 |
자바 객체 지향 프로그래밍(OOP) (0) | 2022.05.17 |
자바 기본 개념 (0) | 2022.05.16 |