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