JVM 이해하기

so2·2021년 11월 27일
0
  • JVM
    • 자바 가상 머신으로 자바 바이트 코드(.class)를 os에 특화된 코드로 변환 (인터프리터와 JIT 컴파이러)하여 실행
    • 바이트 코드를 실행하는 표준이자 구현체
    • 특정 플랫폼에 종속적 (네이티브 코드로 바꿔서 실행해야 하는데 네이티브 코드는 OS 맞춰서 실행해야 하기 때문)
  • JRE
    • 자바 애플리케이션을 실행할 수 있도록 구성된 배포판
    • JVM과 핵심 라이브러리 및 자바 런타임 환경에서 사용하는 프로퍼티 세팅이나 리소스 파일을 가지고 있다
    • 개발 관련 도구는 포함하지 않는다 ex)javadoc, jST(JDK에서 제공)
  • JDK
    • JRE + 개발에 필요한 툴
    • 소스 코드를 작성할 때 사용하는 자바 언어는 플랫폼에 독립적
    • 오라클을 자바 11부터 JDK만 제공하며 JRE를 따로 제공하지 않는다
  • 자바
    • 프로그래밍 언어
    • JDK에 들어있는 자바 컴파일러(javac)를 사용하여 바이트 코드(.class파일)로 컴파일 할 수 있다
  • JVM 언어
    • JVM 기반으로 동작하는 프로그래밍 언어
    • kotlin, scala...

0개의 댓글