먼저 프로그래머가 자바 소스 코드 파일(.java)을 생성합니다.
그리고 Java 컴파일러에 의해 소스 코드(.java)를 자바 바이트 코드(.class)로 변환합니다.
추가 질문 : 런타임 과정은?
컴파일된 자바 바이트 코드를 클래스 로더에 전달합니다.
클래스 로더는 동적 로딩을 통해 필요한 클래스들을 로딩 및 링크하여 JVM 메모리에 올립니다.
실행 엔진은 JVM 메모리에 올라온 바이트 코드들을 명령어 단위로 읽어서 실행합니다. 이 때 인터프리터, JIT컴파일러 두 가지 실행 방식이 있습니다.