본 글 외 올리는 글들은 자바 공부한 것을 개인적으로 기초부터 개념을 재정립하기 위해 작성하는 것으로,
구글링 및 개인적으로 찾아본 후 올리겠지만 절대! 모두 맞는 말은 아니기 때문에 틀린 부분은 지적해주세요.
이전의 글에서도 말 했듯이 Java 언어로 만든 소스 파일( 코드가 적힌 파일 )은
.java 형식의 파일이고 , .class 파일(바이트 코드 파일)을 새로 만들어서 .class 파일을 실행한다.
컴퓨터는 0과 1로 이루어진 2진 언어만을 알아들을 수 있는데 , 바이트코드 파일은 완전한 기계어가 아니다.
뭔가 얼핏얼핏 알 수 있는 영어와, 알 수 없는 특수기호의 조합으로
조금은 알겠는데, 해석하라고 하면 우물쭈물하게 만드는 글자들이다.
아무튼 저걸 해석해서 기계가 실행한다.
그럼 다시한번 실행 순서를 보자.
보기 좀 어렵게 그려서 첨언하자면, 자바 소스 파일을 컴파일(번역) 단계를 통해 바이트 코드로 만들고
JVM이 기계어로 번역 후 실행한다.
그럼 JVM이 뭘까 알아봐야 한다.
JVM은 Java Virtual Marchine의 약자로 '자바 가상 기계'이다.
위 그림에서도 써놨듯이 JVM은 바이트 코드를 기계어로 번역해 주는 역할을 한다.
자바는 Write Once Run Anywhere가 모토이기 때문에,
JVM만 있으면 운영체제가 달라져도 바이트코드를 그대로 실행할 수 있다.
다시 요약하자면 일단은 JVM은 바이트 코드 파일을 기계어로 번역해 준다고 생각하면 될 것 같다.
좀 심화된 것 JVM의 구조를 보고 싶다면 아래를 참조해보면 좋을 것 같다.
https://jeong-pro.tistory.com/148
'Java' 카테고리의 다른 글
Java - java.lang 패키지 (0) | 2022.02.28 |
---|---|
Java - 예외 및 예외 처리 ( Exception ) (0) | 2022.02.28 |
Java 제어문 - 반복문 ( for , while , do-while 문 ) (0) | 2022.02.12 |
Java 제어문 - 조건문 ( if / switch 문 ) (0) | 2022.02.11 |
프로그래밍 언어 & 자바 ( Java )의 탄생 및 소개 (0) | 2022.02.03 |