[Java] JVM 구조

YounDitt·2020년 10월 12일
0

Java, JVM, 메모리

목록 보기
3/3

JVM(Java Virtual Machine)은 자바가상머신으로 자바 바이트코드를 실행할 수 있는 주체이다.
운영체제 위에서 동작하는 프로세스로 자바 코드를 컴파일해서 얻은 바이트코드를 해당 운영체제가 이해할 수 있는 기계어로 바꿔 실행시켜주는 역할을 한다.

1. ClassLoader

런타임 시 수행되며 class파일(바이트코드)들을 엮어 Runtime Data Area로 적재하는 역할

2. Execution Engine

메모리에 적재된 클래스들을 기계어로 변경해 명령어단위로 실행하는 역할
(추가 키워드 : JIT, Interpreter)

3. Garbage Collector

Heap메모리 영역에 적재된 객체들 중 참조되지 않는 객체를 탐색 후 제거하는 역할

[Java] GC & Reference

4. Runtime Data Area

메모리영역으로 자바 어플리케이션을 실행할 때 사용되는 데이터들을 적재하는 역할

[Java] JVM 메모리 영역

자바의 컴파일 과정

컴파일러가 소스코드를 자바 바이트코드로(.class) 변환한다, JVM(자바가상머신)이 그 바이트코드를 기계어로 변환하여 인터프리터 방식으로 어플리케이션을 실행한다.


참고
참고

profile
Hello, Android

0개의 댓글