상세 컨텐츠

본문 제목

JAVA 컴파일

프론트 엔드 연관/JAVAScript 연관

by 스튜핏 2022. 9. 18. 17:59

본문

컴파일러 = 번역기 

 

자바와 자바스크립트 두 종류의 언어가 존재합니다 

 

거기서도 자바(컴파일) / 자바스크립트(런타임)의  타임들이 존재하죠 오늘 알아공부한건 JAVA의 컴파일 입니다

출처:안드로이드 개발을 좋아하는 양드로이드

 예시를 돕기위해 자바 와 자바스크립트의 컴파일/런타임 순서를 알려준 이미지를 가져왔습니다

 

자바 컴파일 순서

 

1.개발자가 자바 소스코드를 작성합니다 

2.자바컴파일러가 자바 소스코드 파일을 읽고 바이트코드(.class)로 컴파일을 진행합니다 

 

여기서 바이트코드란 ?

-아직까지 컴퓨터가 읽을 수 없는 JVM( 자바 가상 머신)이 읽을 수 있는 코드를 뜻합니다 

또한 바이트 코드의 각 명령어는 1바이트 크기의 Opcode와 추가 피연산자로 이루어져 있습니다

 

3.컴파일된 바이트 코드를 JVM의 클래스로더 ( class Loder)에게 전달합니다

 

4. 클래스 로더는 동적로딩 (Dynamic Loading)을 통해 필요한 클래스드을 로딩 및 링크하여 런타임 데이터 영역

(RNUtime Data area), 즉 JVM의 메모리에 올립니다 

 

5.실행엔진(Execution Engine)은 JVM 메모리에 올라온 바이트 코드들을 명령어 단위로 하나씩 가져와서 실행합니다. 이때, 실행 엔진은 두가지 방식으로 변경합니다.

 

관련글 더보기