자바, JVM, JDK, JRE

이연중·2021년 1월 21일
1

JAVA

목록 보기
1/20

각각에 대해 이해하고, 차이점을 안다.

JVM(Java Virtual Machine)
  • 자바 바이트 코드(.class 파일)를 OS에 특화된 코드로 변환(인터프리터와 JIT컴파일러를 통해)하여 실행(특정 플랫폼에 종속적)
  • JVM 스팩: https://docs.oracle.com/javase/specs/jvms/se11/html/ , JVM 밴더: 오라클, 아마존, Azul ....
  • 바이트 코드를 실행하는 표준, 구현체(특정 밴더가 구현)
JRE(Java Runtime Environment)
  • 자바 어플리케이션을 실행할 수 있도록 구성된 배포판
  • JVM과 핵심 라이브러리 및 자바 런타임 환경에서 사용하는 프로퍼티 세팅, 리소스 파일을 가지고 있음
  • 개발 관련 도구 포함 x
JDK(Java Development Kit)
  • JRE + 개발에 필요한 툴
  • 소스 코드 작성 시 자바 언어는 플랫폼에 독립적
  • 오라클은 자바 11부터 JDK만 제공(따로 JRE를 제공 x)

보통 JDK를 다운받음

자바
  • 프로그래밍 언어
  • JDK에 있는 자바 컴파일러(javac)를 사용해 바이트코드(.class 파일)로 컴파일 할 수 있음
  • Oracle JDK 11 버전부터 상용으로 사용할 때 유료화
JVM 언어
  • JVM 기반으로 동작하는 프로그래밍 언어
  • 클로저, 그루비, JRuby, Jython, Kotlin, Scala ....

참고

https://www.inflearn.com/course/the-java-code-manipulation

profile
Always's Archives

0개의 댓글