바이트코드, JVM, 컴파일러

이소연's avatar
Aug 03, 2024
바이트코드, JVM, 컴파일러
Contents
jvm

jvm

jvm JVM을 비유로 이해하기 JVM은 통역사와 같아요: 여러분이 한국어로 쓴 글을 영어, 중국어, 일본어 등 다양한 언어로 번역해주는 통역사와 같습니다. 자바로 작성된 코드(한국어)를 JVM이 이해할 수 있는 바이트코드(다양한 언어)로 변환하고, 이를 다시 각기 다른 운영 체제(영어, 중국어, 일본어 사용 국가)에서 실행할 수 있게 해줍니다. 1 JVM은 전기 변압기와 비슷해요: 전기 변압기가 다양한 전압의 전기를 우리가 사용하는 220V로 변환해주는 것처럼, J VM은 자바 바이트코드를 각기 다른 운영 체제에서 실행할 수 있는 형태로 변환해줍니다. 이를 통해 자바 프로그램은 어떤 운영 체제에서도 동일하게 실행될 수 있어요. 2 JVM은 중간 다리 역할을 해요: 자바 프로그램과 운영 체제 사이의 중간 다리 역할을 합니다. 자바 프로그램이 운영 체제와 직접 소통하지 않고, JVM을 통해 소통함으로써 어떤 운영 체제에서도 자바 프로그램을 실행할 수 있게 해줍니다. 이는 마치 여러 나라를 여행할 때 각 나라의 언어를 모두 배우지 않고, 통역 앱을 사용하는 것과 비슷해요. 3 이런 비유를 통해 JVM의 역할과 중요성을 좀 더 쉽게 이해하셨길 바랍니다. 자바 프로그램이 다양한 환경에서 실행될 수 있는 비밀은 바로 JVM 덕분이에요!
바이트코드, JVM, 컴파일러의 관계 컴파일러는 번역가와 같아요: 자바 코드를 작성하면, 컴파일러가 이를 바이트코드로 번역해줍니다. 마치 한국어로 쓴 글을 영어로 번역해주는 번역가와 같죠. 이 과정을 통해 작성한 자바 코드가 바이트코드로 변환됩니다. 1 바이트코드는 여행 가방과 같아요: 바이트코드는 자바 코드가 컴파일된 형태로, JVM이 이해할 수 있는 '중간 언어'입니다. 여러분이 여행을 갈 때 필요한 물건들을 가방에 담듯, 컴파일러는 자바 코드를 JVM이 이해할 수 있는 바이트코드로 '담아' 줍니다. 이 바이트코드는 어떤 JVM에서도 실행될 수 있어요. 2 JVM은 여행지의 호텔과 같아요: 여러분이 여행 가방(바이트코드)을 들고 여행지에 도착하면, 호텔에서 머무르게 됩니다. JVM은 바이트코드가 실행되는 '환경'으로, 여러분의 바이트코드(여행 가방)를 받아들여 실행시킵니다. 즉, JVM은 다양한 운영 체제(여행지)에서 자바 프로그램(여행 가방)을 실행할 수 있게 해주는 '호텔'과 같습니다. 3 이 비유를 통해 바이트코드, JVM, 컴파일러의 관계를 좀 더 쉽게 이해하셨길 바랍니다. 컴파일러가 자바 코드를 바이트코드로 번역하고, 이 바이트코드는 다양한 운영 체제에서 JVM을 통해 실행될 수 있어요
s.u) 자바코드로 짜면 컴퓨터가 이해.x
그래서 컴파일러가 자바코드를 중간언어인 바이트 코드로 만들어준다.
그 바이트코드를 다양한 OS가 이해할 수 있도록JVM이 해준다.
💎💎💎그래서 다양한 운영체제에서도 JVM 덕에 작동한다.-V
⇒ 약간 변압기 같은거
자바코드에서 컴파일러가 바이트코드로, 그 바이트코드를 여러 운영체제에 돌릴 수 있도록 하는 것이 JVM-V 💎💎💎55
 
⇒암튼 JVM 덕에 모든 프로그램에서 돌아간다.
하지만 네이티브 코드(기계명령어) 보다는 속도 느림. 점차 빨라지고 있다.
 
 
 
Share article

Coding's note