인터프리터
[Java] JIT 컴파일러 (JIT Compiler)
[언어] 컴파일러(Compiler)와 인터프리터(Interpreter) 에서 컴파일러와 인터프리터에 대해서 다뤘었죠~! 그럼 JIT 컴파일러는 무엇이고 어디에 쓰일까요? JIT은 Just In Time을 줄인 말입니다. 뜻을 해석하면 "제시간에 딱 맞춘" 정도가 되겠네요. 산업공학 교양수업에서도 들은 기억이 있는데 물류쪽에서도 자주 쓰이던 단어같아요. 대표적으로 주문이 들어올 때만 생산을 해서 재고를 쌓아두지 않고 바로 딱 맞춰서 고객에게 보낼 수 있는 적시생산시스템도 JIT으로 불리죠. JIT 컴파일러도 이와 아주 비슷하게 동작합니다. 자세히 설명하기전에 우선 자바가 실행되는 과정을 다시 한번 살펴볼까요? 자바(Java) 코드가 실행되기 위해서는 우선 자바 바이트코드(Java bytecode)로 한번 ..
[언어] 컴파일러(Compiler)와 인터프리터(Interpreter)
배경설명 코드를 작성하는 이유는 결국 그 코드를 실행했을 때 컴퓨터가 코드에 쓰인대로 행동하도록 하기 위해서겠죠! 하지만 컴퓨터의 뇌인 CPU는 사람이 사용하는 개발언어(C, C++, Java, Python 등)를 이해할 수 없습니다. CPU는 결국 몇백억개의 반도체로 이루어져있고, 하나의 반도체는 전기가 흐르고 안흐르고에 따라 1과 0만을 인식하고 나타낼 수 있기 때문이죠. 그렇다고 사람이 1과 0만으로 코드를 짠다면.. 어떤 로직을 가진 코드인지 아시겠나요?? 사람은 한눈에 이해를 못하겠지만 CPU는 이렇게 쓰인 코드만 이해할 수 있습니다. 이 처럼 서로 이해하지 못하는 다른 언어를 쓴다면 번역이 필요하겠죠. 따라서 사람이 쓰는 개발언어(C, C++, Java, Python 등)를 기계어(010110..