[Java] 바이트코드(Bytecode, portable code, p-code)
.png)
📌 바이트코드(Bytecode)
- 사람이 이해하기 쉬운 고급 언어로 작성된 소스 코드를 가상머신(VM, Virtual Machine) 이 이해할 수 있는 중간 코드로 컴파일한 것
- 어셈블리어에 가까운 형태
- 바이트코드라는 명칭은 Java 언어와 자바가상머신(JVM)에서 대표적으로 사용, 이 경우 다른 의미와 혼동을 피하기 위해 Java 바이트코드라고 명시적으로 기술하는 경우가 많음
📌 바이너리 코드(Binary Code)
- 바이너리 코드(Binary Code)는 이진 코드라고도 함
- 컴퓨터 프로세서 명령 또는 그 밖의 2심볼 시스템을 사용하는 데이터를 대표하며 대개 이진 숫자 체계의 0과 1을 의미
🚧 바이트코드(Bytecode)와 바이너리 코드(Binary Code)의 차이?
- 바이너리 코드는 기계친화적이면서 환경에 종속적
- 바이트코드는 환경에 독립적이며 바로 실행 가능
- C언어는 소스파일이 컴파일러에 의해 목적파일로 변환될 때 바이너리 코드로 변환
- JAVA는 소스파일이 컴파일러에 의해 목적파일로 변환될 때 바이트 코드로 변환