리타의 저장소

JAVA | JVM이란 무엇인가? 본문

Dev/Backend

JAVA | JVM이란 무엇인가?

ريتا 2025. 10. 11. 23:38

JVM

 

JVM (Java Virtual Machine)이란?

Java Virtual Machine.

자바 버츄얼 머신. 이름에서도 느낄 수 있듯, JVM은 자바 바이트코드를 운영체제에 맞게 해석하고 실행하는 가상 머신이다.

JAVA는 OS에 종속되지 않다는 큰 특징을 갖고 있다. OS에 종속되지 않고 실행되기 위해 OS상에서 JAVA를 실행시키는 머신이 바로 JVM 이라고 생각하면 된다.

 

JAVA로 코드를 짤때를 생각해보자. .java파일들이 생긴다. 이렇게 짜여진 .java 파일들은 컴퓨터가 곧바로 인식하기 어렵다. 그래서 서 컴퓨터가 인식할 수 있도록 '컴파일' 하는 과정을 거쳐줘야한다. 근데 앞서 말한 것 처럼 JAVA의 경우 OS에 종속되지 않는다. JVM을 한번 거치고 컴퓨터에 도달하기 때문에, JAVA는 JVM이 인식할 수 있는 'byte code (== .class)'로 변환된다. 이렇게 변환된 byte code를 JVM이 기계어 코드로 번역 해준다. 

 


 특징

  • .java 파일 → javac 컴파일 (javac → java 언어 컴파일러) → .class (==바이트코드) → java 명령으로 JVM에서 실행 → JVM이 기계어로 번역 → CPU 도달
    • javac는 .java 파일을 컴파일해서 .class 파일을 만들어주는 도구 (Java compiler .java 파일을 .class(bytecode)로 변환)
  • 운영체제에 종속되지 않음
  • Write Once, Run Anywhere 철학의 핵심 기반

 

 주요 역할

  • 바이트코드 실행 (해석 + JIT 컴파일)
  • 메모리 관리 (GC 포함)
  • 보안, 스레드, 네이티브 인터페이스 관리