자바는 JVM덕분에 OS에 독립적인 특징을 갖고있습니다. JVM의 기능과 OS에 독립적으로 실행시킬 수 있는 자바 컴파일 과정에 대해 정리합니다.

Untitled


자바 컴파일 순서

  1. 개발자가 소스코드륵 작성합니다.
  2. 자바 컴파일러가 자바 소스파일을 컴파일합니다. 이때 파일은 .class형태로 자바 가상머신에 의해서만 해독될 수 있는 코드입니다.
  3. 컴파일된 바이트 코드를 JVM의 클래스로더에게 전달합니다.
  4. 클래스로더는 동적 로딩을 통해 필요한 클래스들을 로딩 및 링크하여 런타임 데이터 영역, 즉 JVM의 메모리에 로드합니다.

클래스 로더 세부 동작

  1. 실행 : 실행엔진은 JVM메모리에 올라온 바이트코드를 명령어 단위로 하나씩 가져와 수행합니다. 이때 실행엔진은 다음 두가지 방식을 통해 바이트코드를 변환합니다.