저우즈밍 님의 "JVM 밑바닥까지 파헤치기" 책을 정리한 포스팅 입니다
1. 프런트엔드 컴파일
- java 파일을 class 파일(bytecode)로 변환하는 작업
javac
- 프런트엔드 컴파일러
- jdk 6부터 표준 자바 클래스 라이브러리에 포함됨 (이전에는 tools.jar에 존재하였음)
- 최적화 작업이 수행되지 않음
컴파일 과정
- 준비
- 플러그인 애너테이션 처리기들을 초기화함
- 구문 분석
- 토큰화
- 추상 구문 트리 생성
- 심벌 테이블 생성
- 심벌 주소, 심벌 정보가 기입됨
- 애노테이선 처리
- 플러그인 애노테이션 처리기를 사용하여 처리함
- 바이트코드 생성
- 문법 검사
- 제어 흐름 분석
- 편의 문법 제거
'Java' 카테고리의 다른 글
[JVM 밑바닥까지 파헤치기] 11-1. 백엔드 컴파일과 최적화: 백엔드 컴파일 (0) | 2024.12.25 |
---|---|
[JVM 밑바닥까지 파헤치기] 10-2. 프런트엔드 컴파일과 최적화: 편의 문법 (0) | 2024.12.25 |
[JVM 밑바닥까지 파헤치기] 9. 클래스 로딩과 실행 서브시스템, 사례와 실전 (2) | 2024.12.24 |
[JVM 밑바닥까지 파헤치기] 8-2. 바이트코드 실행 엔진: 바이트코드 해석 (0) | 2024.12.24 |
[JVM 밑바닥까지 파헤치기] 8-1. 바이트코드 실행 엔진: 런타임 (0) | 2024.12.24 |