Java

JVM의 개념 - 자바 동작 과정 아주 기초!

비뀨_ 2022. 2. 3. 20:45

본 글 외 올리는 글들은 자바 공부한 것을 개인적으로 기초부터 개념을 재정립하기 위해 작성하는 것으로,

구글링 및 개인적으로 찾아본 후 올리겠지만 절대! 모두 맞는 말은 아니기 때문에 틀린 부분은 지적해주세요.

 

https://beetr.tistory.com/29

 

프로그래밍 언어 & 자바 ( Java )의 탄생 및 소개

본 글 외 앞으로의 글들은 자바 공부한 것을 기초부터 개념을 재정립하기 위해 작성하는 것으로, 구글링 및 개인적으로 찾아본 후 올리겠지만 절대! 모두 맞는 말은 아니기 때문에 틀린 부분은

beetr.tistory.com

 

 

이전의 글에서도 말 했듯이 Java 언어로 만든 소스 파일( 코드가 적힌 파일 )은

.java 형식의 파일이고 , .class 파일(바이트 코드 파일)을 새로 만들어서 .class 파일을 실행한다.

컴퓨터는 0과 1로 이루어진 2진 언어만을 알아들을 수 있는데 , 바이트코드 파일은 완전한 기계어가 아니다.

Hello World의 .class 파일

뭔가 얼핏얼핏 알 수 있는 영어와, 알 수 없는 특수기호의 조합으로

조금은 알겠는데, 해석하라고 하면 우물쭈물하게 만드는 글자들이다.

아무튼 저걸 해석해서 기계가 실행한다.

그럼 다시한번 실행 순서를 보자.

기초적인 Java 실행 순서

보기 좀 어렵게 그려서 첨언하자면, 자바 소스 파일을 컴파일(번역) 단계를 통해 바이트 코드로 만들고 

JVM이 기계어로 번역 후 실행한다.

 

그럼 JVM이 뭘까 알아봐야 한다.

JVM은 Java Virtual Marchine의 약자로 '자바 가상 기계'이다.

위 그림에서도 써놨듯이 JVM은 바이트 코드를 기계어로 번역해 주는 역할을 한다.

 

자바는 Write Once Run Anywhere가 모토이기 때문에,

JVM만 있으면 운영체제가 달라져도 바이트코드를 그대로 실행할 수 있다. 

 

다시 요약하자면 일단은 JVM은 바이트 코드 파일을 기계어로 번역해 준다고 생각하면 될 것 같다.

좀 심화된 것 JVM의 구조를 보고 싶다면 아래를 참조해보면 좋을 것 같다.

https://jeong-pro.tistory.com/148

 

JVM 구조와 자바 런타임 메모리 구조 (자바 애플리케이션이 실행될 때 JVM에서 일어나는 일, 과정

JVM(Java Virtual Machine) : 자바 가상 머신으로 자바 바이트 코드를 실행할 수 있는 주체다. CPU나 운영체제(플랫폼)의 종류와 무관하게 실행이 가능하다. 즉, 운영체제 위에서 동작하는 프로세스로 자

jeong-pro.tistory.com