[Java] JAVA, JVM, JDK, JRE

홍정완·2022년 7월 16일
0

Java

목록 보기
16/25
post-thumbnail




JVM (Java Virtual Machine)


  • JVM은 자바 바이트 코드를 OS에 특화된 코드로 변환하여 실행

    • 자바 바이트 코드 (.class 파일)
    • 변환 (인터프리터, JIT 컴파일러)



Java bytecode


자바 바이트 코드(Java bytecode)란 자바 가상 머신이 이해할 수 있는 언어로 변환된 자바 소스 코드를 의미한다.

자바 컴파일러에 의해 변환되는 코드의 명령어 크기가 1바이트라서 자바 바이트 코드라고 불린다.

자바 바이트 코드의 확장자는 .class이며, 자바 가상 머신만 설치되어 있으면 어떤 운영체제에서라도 실행될 수 있다.




JRE (Java Runtime Environment)


  • JVM + 라이브러리

    • 자바 애플리케이션을 실행할 수 있도록 구성된 배포판

JRE는 JVM 이 자바 프로그램을 동작시킬 때 필요한 라이브러리 파일들과 기타 파일들을 가지고 있다. JRE는 JVM의 실행환경을 구현했다고 할 수 있다.



구성

  • JVM
  • 핵심 라이브러리
  • 자바 런타임 환경에서 사용하는 프로퍼티 세팅
  • 리소스 파일

컴파일러 등 개발과 관련된 요소들 👉 JDK에서 제공




JDK (Java Development Kit)


  • JRE + 개발 툴(javac, java등)

  • 소스 코드를 작성할 때부터 자바는 플랫폼에 독립적임
  • 오라클은 자바 11부터 JDK만 제공하고 JRE를 따로 제공하지 않음



Java


  • 프로그래밍 언어

    • JDK에 들어있는 자바 컴파일러 javac를 이용해 바이트코드인 .class로 컴파일

자바 프로그램 실행 과정




JVM 언어


  • JVM 기반으로 동작하는 프로그래밍 언어

    • 클로저
    • 그루비
    • JRuby
    • Jython
    • Kotiln
    • Scala
    • ...
profile
습관이 전부다.

0개의 댓글