TIL

JVM (2024-07-22)

note994 2024. 7. 22. 16:53
  • Java Virtual Machine의 약자로 "자바 가상 머신"이라는 뜻이다.
  • 가상머신이란 가상의 기기를 뜻한다.
  • 다시 말해, 여러 종류의 기기 위에서 Java 프로그램을 실행 시킬 수 있게 해주는 가상의 기기이다.

 


자바 컴파일러 : 사람이 이해하는 .java 파일을 컴퓨터가 이해할 수 있는 .class(바이트 코드) 파일로 변환해주는 것

 

인터프리터 : .class 코드 해석기로서 운영체제가 읽은 바이트 코드를 기기(기계)가 실행할 수 있는 기계어로 번역

 

JIT 컴파일러 : Just In Time의 약자로 빠른 .class코드 해석기이다. 인터프리터의 효율을 높여주는 서포터 해석기이다. 인터프리터와 세트라고 생각하면 된다.

 

메모리 영역 : Java 데이터를 저장하는 영역, 운영체제로 부터 JVM이 할당받은 영역

 

클래스 로더 : .class 바이트 코드를 메모리 영역에 담는 운반기, JVM으로 .class(바이트 코드)를 불러와서 메모리에 저장함

 

가비지 컬렉터 : Java 쓰레기 청소기, 메모리 영역에서 안쓰이는 데이터를 주기적으로 제거하는 청소기

 


JVM을 설치하는 방법은 JRE를 설치하는 것이다.

  • JRE는 Java Runtime Environment 즉, 자바 실행 환경이라는 뜻이다.
  • JRE(JVM)만 있다면 Java 프로그램을 실행 할 수 있다.
  • JRE는 .class 파일만 실행할 수 있다.
  • JDK가 javac 명령을 통해 .java 파일을 실행 가능한 .class 파일로 변환해준다.

 

JDK?

  • JDK는 Java Development Kit, 즉 자바 개발 키트 라는 뜻이다. 
  • 자바 프로그램을 개발할 것이기 때문에 JDK를 설치할 것이다.
  • JDK는 JRE와 JVM 기능을 모두 갖고있다.
  • JDK는 .java 파일을 .class 파일로 바꿔주는 Java compiler(javac) 기능이 있다.
  • JDK는 코드를 디버깅하는 jdb 등의 기능이 있다.