Java

[JVM 밑바닥까지 파헤치기] 10-1. 프런트엔드 컴파일과 최적화: 프런트엔드 컴파일

noahkim_ 2024. 12. 24. 04:17

저우즈밍 님의 "JVM 밑바닥까지 파헤치기" 책을 정리한 포스팅 입니다


1. 프런트엔드 컴파일

  • java파일을 class 파일(bytecode)로 변환

 

javac

  • 최적화 X
  • jdk 6부터 표준 자바 클래스 라이브러리에 포함됨 (이전에는 tools.jar에 존재하였음)

 

컴파일 과정

준비
  • 플러그인 애너테이션 처리기들 초기화

 

구문 분석
  • 어휘 및 구문 분석
  • 소스 코드 토큰화

 

추상 구문 트리 구성
심벌 테이블 채우기
  • 심벌 주소, 심벌 정보 생성

 

애노테이선 처리
  • 플러그인 애노테이션 처리기 사용

 

바이트코드 생성
  • 문법 검사
  • 제어 흐름 분석
  • 편의 문법 제거