반응형
정의
자바 소스코드에서 부터 실행되기까지의 실행과정을 설명합니다.
플로우 차트
소스 코드(.java 파일)
Java 프로그램은 일반적으로 텍스트로 작성된 .java 파일에 소스 코드를 포함하고 있습니다.
[자바 컴파일러]
Java 컴파일러(javac)는 .java 파일을 컴파일하여 바이트코드로 변환합니다. 이 단계에서 소스 코드는 기계어로 직접 변환되지 않으며, 컴파일된 바이트코드는 .class 파일로 저장됩니다.
바이트코드(.class 파일)
컴파일된 .class 파일은 JVM이 로드할 수 있는 형식의 바이트코드로 되어 있습니다. 바이트코드는 JVM에서 실행되기 전에 로딩 및 해석됩니다.
[자바 가상 머신(JVM)]
JVM은 Java 프로그램의 실행 환경을 제공합니다. JVM은 .class 파일을 로드하고 해석하여 프로그램을 실행합니다.
JIT (Just-In-Time) 컴파일러
JIT 컴파일러는 JVM 내부에 내장되어 있으며, 실행 시점에 동작합니다. JIT 컴파일러는 프로그램의 실행 패턴을 분석하고, 빈번하게 실행되는 코드 블록을 식별하여 중복되는것을 미리 제거한후 실제 기계 코드로 컴파일함으로서 인터프리터의 단점을 보완하는 역할을 합니다.
인터프리터
인터프리터는 JVM에서 바이트코드를 해석하고 실행하는 역할을 합니다. 바이트코드의 각 명령문을 순차적으로 해석하고 해당 명령을 실행합니다. 다시말해, interpreter는 코드를 한줄씩 기계어로 변환합니다. 인터프리터는 빠르게 실행할 수 있는 이점이 있지만, 반복적으로 실행되는 코드에 대해서는 성능상의 단점이 있을 수 있습니다.
기계 코드
기계 코드는 컴퓨터의 CPU에서 실행 가능한 명령어로 이루어진 코드입니다.
반응형
'old > Programming' 카테고리의 다른 글
자주 사용하는 롬북 어노테이션 리스트 (0) | 2023.07.17 |
---|---|
lombok intellij에 설치법 (0) | 2023.07.16 |
JAVA에서 char타입 사칙연산은 어떻게 작동할까? (0) | 2023.07.13 |
빌더 패턴 Builder Pattern (0) | 2023.07.12 |
힙 자료구조란 (0) | 2023.07.05 |