Byte Code란 무엇인가 ?
자바 가상 머신이 이해할 수 있는 언어로 변환된 자바 소스 코드, 자바 컴파일러로 변환되는 코드의 명령어 크기가 1 바이트라서 바이트 코드라고 불린다고 한다.
다시 풀어서 이해하자면 자바는 OS에 종속적이지 않기 위해서 JVM이 이해할 수 있는 언어인 바이트 코드 형태로 제공되고 바이트 코드와 JVM이 있으면 어느 운영체제에 종속적이지 않고 실행된다고 이해하면 된다.
( .java 파일은 확장자가 java인 단순 텍스트 파일이다 )
프로그램을 실행하는 것은 결국 컴퓨터이다. 다시 말해 프로그램은 컴퓨터가 이해할 수 있는 형태로 작성되어 있어야 한다. 자바 문법으로 작성한 .java 파일은 사람이 이해할 수 있는 언어로 작성했기 때문에 컴퓨터는 이해할 수 없다. 그렇기 때문에 번영을 통해 컴퓨터가 이해할 수 있는 형태로 만들어 줘야 한다.
컴퓨터가 이해할 수 있는 형태로 번역하는 것은 JVM이 담당한다.
그럼 우리는 JVM이 이해할 수 있는 형태로 번역을 해서 전해줘야 한다. 이때 이 JVM이 이해할 수 있는 형태가 바이트 코드이다.
자바에서 javac 명령을 통해 컴파일을 하면 .class 확장자를 갖는 바이트코드가 만들어지고 JVM이 바이트 코드를 실행한다. 일반적으로 사용할때는 특정한 플랫폼이 아닌 플랫폼 위에 설치된 JVM과 같은 머신 위에서 실행 가능한 코드라고 알고있다. (이런것들을 중간어라고도 불리운다)
'Live-Study' 카테고리의 다른 글
1주차 : JVM 구성 요소 (0) | 2021.02.28 |
---|---|
1주차 : JIT 컴파일러란 무엇이며 어떻게 동작하는지 (0) | 2021.02.28 |
1주차 : 실행하는 방법 ( JVM 실행 방법 ) (0) | 2021.02.23 |
1주차 과제 : 컴파일 하는 방법 (0) | 2021.02.22 |
1주차 과제: JVM은 무엇이며 자바 코드는 어떻게 실행하는 것인가. #1 (0) | 2021.02.21 |