공부/Java

[Java] 바이트코드 파일과 자바 가상 머신

ByeongJun 2023. 3. 29. 15:57
반응형

출처 : <이것이 자바다(개정판)>

소스 파일(.java) 작성 후 컴파일을 해야 한다.

 

javac(java compiler) 명령어는 소스 파일을 컴파일하는데

결과는 확장명이 .class인 바이트코드(byteCode) 파일로 생성된다.

 

자바 컴파일러에 의해 변환되는 코드의 명령어 크기가 1바이트라서 자바 바이트 코드라고 불린다.

(윈도우, 맥OS, 리눅스 등 어떤 운영체제라도 동일하게 바이트코드 파일 생성된다.)

 


자바 가상 머신

바이트코드 파일 ( .class)을 특정 운영체제가 이해하는 기계어로 번역하고 실행시키는 명령어는 java이다.

 

java 명령어는 JDK와 함께 설치된 자바 가상 머신(Java Virtual Machine)을 구동시켜

바이트코드 파일을 완전한 기계어로 번역하고 실행시킨다.

 

바이트코드 파일은 운영체제 상관없이 모두 동일한 내용으로 생성되지만,

자바 가상 버신은 운영체제에서 이해하는 기계어로 번역애햐 하므로 운영체제별로 다르게 설치된다.

 

 

 

출처는 생활코딩 채널이며 Java 동작원리의 전체적인 흐름을 위에서 아래로 정리하자면 

 

[1]

사람이 이해할 수 있는 Java Source Code(확장자가 .java인 파일)를 컴퓨터가 이해할 수 있도록

전환하는 작업인 Compile 단계를 거친다.

[2]

Compile 방법은 (이클립스에서) 소스 코드를 작성하고 저장을 누르면 .class 확장자를 가진 파일 생성이 만들어지는데

이것을 Java Application이라고 한다.

[3]

만들어놓은 .class 파일을 실행시키면 Java Virtual Machine이 확장자가 class인 파일을 읽어서

[4]

컴퓨터에서 동작시키는 원리이다.

반응형