Java/스터디

JIT 컴파일 (1주차)

필리힐리 2021. 8. 1. 22:30

JIT는 Just In Time의 약자이다.

 

프로그래밍에서 고급언어 (사람이 이해하는 코드)를 기계어로 변환하는 방법은 크게 컴파일 방식과 인터프리터 방식이 있다.

 

컴파일 방식 : 소스 코드 전체를 기계어로 변환 (통역사가 말을 듣고 이해한 후 나에게 한글로 전달해줌)

인터프리터 방식 : 소스 코드를 런타임시 한 줄 한 줄 변환 (통역사가 그 자리에서 실시간 번역)

 

https://youtu.be/9sSxdhYGYSM

니콜라스가 잘 설명해주는 것 같아 첨부한다.

 

자바는 독특하게 두개의 방식을 같이 쓰는데 이건 딱 봐도 비효율적인 면이 있다.

* 고급언어 -> 바이트 코드 (컴파일 방식 사용)

* 바이트 코드 - > 기계어 (인터프리터 방식 사용)

 

그래서 도입된게 JIT 방식으로 JIT 컴파일러는 한 번 읽어서 기계어로 변환한 소스코드를 저장해두고 

이전과 동일한 소스코드가 들어왔을 시 인터프리터는 저장되어 있는 코드를 사용하면 되기 때문에 다시 한 줄 한 줄 읽을 필요가 없다.

 

* 참고한 블로그

https://catch-me-java.tistory.com/11

 

[Java-3] JVM과 JIT 컴파일러란?

전 글에서는 JAVA의 바이트 코드에 대해서 알았다. 이번에는 그 바이트코드를 가지고 어떻게 실행하는지 알아보기 위해, 기본적인 JVM의 JIT 에 대해서 알아보도록 하자. 먼저 실행을 하기 위해서

catch-me-java.tistory.com

 

 

 

 

'Java > 스터디' 카테고리의 다른 글

1주차 피드백  (0) 2021.08.04
JDK vs JRE (1주차)  (0) 2021.08.01
바이트 코드란 무엇인가? (1주차)  (0) 2021.08.01
자바 컴파일 및 실행 (1주차)  (0) 2021.08.01
JVM이란 무엇인가 & 구성 요소 (1주차)  (0) 2021.07.26