1. 소스코드 작성
2. 컴파일
소스코드를 바이트 코드로 변환 - 구문검사, 검증
3. 클래스 로딩
클래스 로더가 .class 파일을 메모리에 로드
클래스 로드, 링크, 초기화
4. 바이트코드 검증
JVM 내부에서 바이트 코드 유효성 검사 - 스택 검사, 사용되지 않는 로컬 변수 제거
안전성과 보안성을 보장하기 위한 과정
5. Just In Time
JVM은 인터프리터 방식으로 동작하는데 JIT 컴파일러를 도입해서 속도 저하 보완
인터프리터 방식으로 코드를 실행할 때, 속도가 느린 부분을 파악하여 해당 부분을 네이티브 코드로 변환, 이후 인터프리터 대신 네이티브 코드를 직접 실행하는 방식
JIT 컴파일러는 애플리케이션의 실행 패턴을 분석하여 최적화 된 코드를 생성 - 기계어 생성
6. 실행
7. 메모리 관리
8. 종료
원본
'자바' 카테고리의 다른 글
EAR WAR JAR (0) | 2023.06.07 |
---|---|
replaceAll (1) | 2023.03.21 |
log4j2 xml (0) | 2023.02.14 |
HashMap / HashTable (0) | 2023.02.08 |
상속 / 포함 (0) | 2023.01.29 |