728x90
컴파일러를 통해 자바 클래스 파일이 자바 바이트 코드로 변환되고 이를 JVM이 실행시킵니다.
여기서 바이트 코드란 무엇인지에 대해서 정리해보겠습니다.
바이트 코드란?
바이트 코드는 가상 머신에서 돌아가기 위한 표현 방법입니다. 컴파일러에 의해 변환된 명령어 코드가 1바이트라서 바이트 코드라고 부른다고 합니다. 어떤 플렛폼에도 종속되지 않고 실행될 수 있는 가상 머신용 코드라고 보시면 됩니다. 바이트 코드는 다시 실시간 번역기 또는 저스트 인 타임(just-in-time, JIT) 컴파일러에 의해 바이너리 코드로 변환됩니다.
바이너리 코드와의 차이점
바이너리 코드는 기계가 이해할 수 있도록 구성된 이진 코드입니다. 여기서 차이점이 생깁니다. 바이너리 코드는 기계(CPU)가 읽을 수 있는 형태인 반면 바이트 코드는 '가상 머신'에서 읽습니다. 바이트 코드는 일반적인 기계어보다 더 추상적이라고도 하는데 어떤 형태인지 나중에 확인해보고 싶군요.
참고
ko.wikipedia.org/wiki/%EB%B0%94%EC%9D%B4%ED%8A%B8%EC%BD%94%EB%93%9C
728x90
'Java' 카테고리의 다른 글
[JAVA] JVM 구성 요소 (0) | 2021.03.29 |
---|---|
[java] JIT 컴파일러란? (0) | 2021.03.25 |
JVM이란? - 특징 (0) | 2021.03.22 |
자바 산술변환 (0) | 2021.03.11 |
[java] 변수 (0) | 2021.03.10 |