Java Virtual Machine (JVM) 은 java 로 쓰여진 application을 실행시키는 일종의 데몬이다.
데몬(daemon)이란?
백그라운드에서 작업을 하는 process 로, 직접적으로 제어가 불가능 하며 부모 process가 존재하지 않는다.
syslogd 와 같이 이름 뒤에 d를 붙이는 경우가 많다.
위와 같은 구조로, 개발자가 작성 한 A.java 파일을 java compiler 를 통해 A.class 라는 binary 파일로 compile 한다.
이후 JVM 내부의 Class Loader, Runtime Data Areas, Eexecution Engine 을 통해 application 을 실행시킨다.