JVM(Java Virtual Machine)
자바 가상 머신은 자바 바이트코드를 실행할 수 있는 주체이다.
일반적으로 *인터프리터나 *JIT 컴파일 방식으로 다른 컴퓨터 위에서 바이트코드를 실행할 수 있도록 구현되나
자바 프로세서처럼 하드웨어와 소프트웨어를 혼합해 구현하는 경우도 있다.
바이트코드(Bytecode, portable code, p-code)
특정 하드웨어가 아닌 가상 컴퓨터에서 돌아가는 실행 프로그램을 위한 이진 표현법이다.
하드웨어가 아닌 소프트웨어에 의해 처리되기 때문에, 보통 기계어보다 더 추상적이다.

*인터프리터(interpreter)
해석기는 프로그래밍 언어의 소스 코드를 바로 실행하는 컴퓨터 프로그램 또는 환경을 말한다.
원시 코드를 기계어로 번역하는 컴파일러와 대비된다.
인터프리터는 다음의 과정 가운데 적어도 한 가지 기능을 가진 프로그램이다.
1. 소스 코드를 직접 실행한다.
2. 소스 코드를 효율적인 다른 중간 코드로 변환하고, 변환한 것을 바로 실행한다.
3. 인터프리터 시스템의 일부인 컴파일러가 만든, 미리 컴파일된 저장 코드의 실행을 호출한다.
*JIT 컴파일(just-in-time compilation) 또는 동적 번역(dynamic translation)
프로그램을 실제 실행하는 시점에 기계어로 번역하는 컴파일 기법이다.
이 기법은 프로그램의 실행 속도를 빠르게 하기 위해 사용된다.
'자바 > 자바 공부' 카테고리의 다른 글
| 자바 의존성과 라이브러리와 Jar (0) | 2020.05.13 |
|---|---|
| CGI와 서블릿 그리고 톰캣 (0) | 2020.05.13 |
| Java EE(J2EE), JDK, JRE, JAVA SE(J2SE) 차이 (0) | 2020.05.13 |
| LED(발광 다이오드)에 레지스터(저항)이 필요한 이유 (0) | 2020.05.06 |
| 음극과 양극 (0) | 2020.05.06 |