JIT는 Just In Time의 약자이다.
프로그래밍에서 고급언어 (사람이 이해하는 코드)를 기계어로 변환하는 방법은 크게 컴파일 방식과 인터프리터 방식이 있다.
컴파일 방식 : 소스 코드 전체를 기계어로 변환 (통역사가 말을 듣고 이해한 후 나에게 한글로 전달해줌)
인터프리터 방식 : 소스 코드를 런타임시 한 줄 한 줄 변환 (통역사가 그 자리에서 실시간 번역)
니콜라스가 잘 설명해주는 것 같아 첨부한다.
자바는 독특하게 두개의 방식을 같이 쓰는데 이건 딱 봐도 비효율적인 면이 있다.
* 고급언어 -> 바이트 코드 (컴파일 방식 사용)
* 바이트 코드 - > 기계어 (인터프리터 방식 사용)
그래서 도입된게 JIT 방식으로 JIT 컴파일러는 한 번 읽어서 기계어로 변환한 소스코드를 저장해두고
이전과 동일한 소스코드가 들어왔을 시 인터프리터는 저장되어 있는 코드를 사용하면 되기 때문에 다시 한 줄 한 줄 읽을 필요가 없다.
* 참고한 블로그
https://catch-me-java.tistory.com/11
'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 |