Untitled

JVM ( Java Virtual Machine )

자바 프로그램의 실행 단계

자바 프로그램의 실행 단계

자바 컴파일러에 의해 자바 소스 파일이 바이트 코드로 전환 , 이 바이트 코드를 JVM에서 읽어서 실행

JVM 메모리구조

Untitled

Untitled

  1. **Java Compiler(자바 컴파일러)**에 의해 Java source(.java) 파일은  Byte code로 변환된다.
  2. **Class Loader(클래스 로더)**는 이 변환된 Byte code(.class) 파일을 JVM 내로 class를 로드하고 Link작업을 통해 배치 등 일련의 작업을 한다. 또 런타임시 class를 load한다.
  3. Execution Engine(실행 엔진) 은 Class Loader를 통해 JVM 내부로 넘어와 Runtime Data Area(JVM 메모리)에 배치된 Byte code들을 명령어 단위로 실행시킨다.
  4. **GC(Garbage Collector)**는 어플리케이션이 생성한 객체의 생존 여부를 판단하여, 더이상 참조되지 않거나 null 인 객체의 메모리를 해체시켜 메모리 반납을 한다.