- JAVA Virtual Machine
- 자바 어플리케이션을 OS에 구애받지 않고 실행하게 해주는 머신 소프트웨어
- 한정된 메모리를 효율적으로 사용하기 위해 JVM에서 관리하는 메모리 구조에 대해 파악해두는 것이 좋다
- 자바 프로그램은 아래와 같이 실행된다
- 프로그램이 실행될때 JVM은 OS로부터 메모리를 할당받고, 메모리를 여러 영역에 나누어 관리한다
- Compiler가 자바 코드를 읽어들여 자바 바이트 코드로 변환시킨다
- 변환된 바이트코드를 Class Loader가 로딩하여 Execution으로 통해 해석한다
- 해석된 바이트코드는 Runtime Data Area에 배치되어 실제 수행이 이루어진다
- 이 과정속에서 JVM은 필요에 따라 GC 같은 작업도 수행한다