.class)로 모든 플랫폼에서 동작 가능
ClassLoader
메서드 영역
스택 영역
힙 영역
new 연산자를 통해 동적 할당된 객체 등 참조 데이터 저장Execution Engine
- 바이트코드를 실제로 실행할 수 있는 기계어로 변환
- JVM은 초기에 프로그램 실행 시 인터프리터를 사용하여 바이트코드를 한 줄씩 읽어 실행합니다.
프로그램 실행 중에 자주 실행되는 코드(핫스팟)를 식별하면, JIT 컴파일러가 해당 코드를 네이티브 코드로 컴파일하여 성능을 향상시킵니다.
java 파일 실행 과정
javac 컴파일러에 의해서 바이트 코트로 변환(.class)
→ classloader jvm 로드
→ execution engine 인터프리터 + jit 컴파일러 이용해서 실행
이 글이 작성되기까지 도움주신 태곤님, 성환님, 수아님께 감사드립니다.