본문 바로가기
IT/java

Java 가상머신 (JVM) - 자바 코드의 실행 환경

by 뉴코딩맨 2023. 6. 5.
Java 가상머신 (Java Virtual Machine, JVM)은 자바 프로그램을 실행하기 위한 가상 컴퓨터입니다. JVM의 역할과 동작 원리, 그리고 JDK와의 관계에 대해 알아보겠습니다.

 

 

JVM의 역할

  • 자바 코드 실행: JVM은 자바 프로그램을 실행하기 위한 환경을 제공합니다. 자바 코드는 JVM이 이해할 수 있는 바이트코드 형태로 변환되어 실행됩니다.
  • 플랫폼 독립성: JVM은 운영체제나 하드웨어에 종속되지 않고 동일한 방식으로 자바 코드를 실행할 수 있도록 합니다.
  • 메모리 관리: JVM은 가비지 컬렉션(Garbage Collection)을 통해 메모리를 관리하여 개발자가 명시적으로 메모리를 할당하거나 해제할 필요가 없습니다.
  • 보안 기능: JVM은 자바 코드를 안전하게 실행하기 위한 다양한 보안 기능을 제공합니다.

 

 

JVM의 동작 원리

  • 자바 컴파일러: 자바 소스 코드를 컴파일하여 바이트코드(.class 파일)로 변환합니다.
  • 클래스 로더: JVM은 필요한 클래스를 동적으로 로딩합니다.
  • 바이트코드 인터프리터: JVM은 로드된 바이트코드를 한 줄씩 해석하고 실행합니다.
  • JIT 컴파일러: 자주 실행되는 코드는 JIT 컴파일러를 통해 네이티브 코드로 변환되어 실행 속도를 향상시킵니다.
  • 런타임 데이터 영역: JVM은 메모리를 힙, 스택, 메소드 영역으로 나누어 데이터를 관리합니다.

 

 

JDK와 JVM의 관계

JDK(Java Development Kit)는 자바 개발 도구로, JVM을 포함한 다양한 도구와 라이브러리를 제공합니다. JDK를 설치하면 JVM도 함께 설치되어 자바 프로그램을 개발하고 실행할 수 있습니다. JDK에는 컴파일러, 디버거, API 문서 등이 포함되어 있어 개발 환경을 구축하는 데 유용합니다.
 
 

마무리

JVM은 자바 코드를 실행하기 위한 핵심 요소로, 플랫폼 독립성과 메모리 관리 등의 이점을 제공합니다. JDK는 JVM을 비롯한 자바 개발 도구를 제공하여 자바 프로그램을 개발하고 실행하는 데 필요한 모든 기능을 제공합니다.
 

댓글