개발/JAVA

자바) JVM에 대해서

hubaek 2024. 9. 3. 01:51

JVM - Java Vertual Machine(자바 가상 머신)의 줄임말 OS(운영체제)에 종속받지 않고 Java 바이트코드를 실행할 수 있는 주체

            쉽게 말해 어디서든 어떤 환경이든 가상 머신이 존재해서 Java로 코딩이 가능하다.

 

 

바이트 코드란?  Java 프로그램 변환코드 - OS(운영체제)가 읽을 수 있는 코드

 - 컴파일러 : .java 파일 -> .class  // 자바 파일은 컴퓨터가 읽을 수 없음, 클래스 파일은 운영체제가 이해할 수 있음

 

인터프리터 - Java.class 코드 해석기

 - 운영체제가 읽은 바이트 코드를 기계가 실행할 수 있는 기계어로 번역

 * JIT 컴파일러 - 빠른 Java.class 코드 해석기 : 인터프리터의 효율을 높여주는 서포터 해석기

 

메모리 영역 - 운영체제로 부터 JVM이 할당받은 메모리 영역

 

클래스 로더 - Java.class 바이트 코드를 메모리 영역에 담는 운반기

 

가비지 컬렉터 - 메모리 영역에서 안쓰는 데이터를 주기적으로 흡수해가는 청소기

JVM을 그림으로 이해하기

 

 

JRE - Java Runtime Entironment (자바 실행 환경)

 - JVM을 설치하는 방법은 JRE를 설치하는 것

  * JRE만 있으면 Java 프로그램을 실행만 가능, .class파일만 실행 가능

 

JDK - Java Development Kit(자바 개발 키트)

 - JDK는 JRE(JVM)의 기능을 포함

 - JDK가 javac 명령을 통해 .java파일을 실행가능한 .class파일로 변환해줌 Java Compiler(javac)

 - 코드를 디버깅하는 jdb 등의 기능이 있음