소스와 기계어 사이
개발자가 쓴 문법을 매번 원문 그대로 처리하는 대신 더 실행하기 좋은 명령 형태로 바꿀 수 있다. 이 결과가 바이트코드인 실행 환경도 있다. 바이트코드와 특정 CPU가 직접 실행하는 기계어는 같은 형식이 아닐 수 있다.
실행하는 주체
가상 머신이나 인터프리터가 바이트코드의 의미에 따라 작업을 수행할 수 있다. 일부 환경은 실행 중 또는 미리 기계어로 번역하기도 한다. 바이트코드를 쓴다는 사실만으로 하나의 실행 방식만 가능한 것은 아니다.
이식성의 범위
하드웨어 차이를 실행 환경이 흡수할 수 있지만 모든 바이트코드가 모든 가상 머신에서 통하는 것은 아니다. 언어 구현과 버전에 따라 명령 형식이 바뀔 수 있다. 운영 체제의 기능이나 외부 라이브러리 의존성도 별도로 남을 수 있다.
저장된 결과의 의미
바이트코드를 저장하면 다음 실행에서 일부 번역 작업을 줄일 수 있다. 그러나 그것이 언제나 프로그램 전체를 미리 실행했다는 뜻이나 모든 최적화가 끝났다는 뜻은 아니다. 저장 형식과 실행 준비 과정의 역할을 구분해야 한다.