똑같은 삽질은 2번 하지 말자

JDK? JRE? JVM? 무슨 차이? JAVA 유료화? 본문

Java

JDK? JRE? JVM? 무슨 차이? JAVA 유료화?

곽빵 2020. 8. 16. 16:34

 

JVM(Java Virtual Machine)

  • 자바 가상머신, 자바 바이트 코드(.class 파일)을 OS에 특화된 코드로 변환하는 역할
  • 인터프리터와 JIT 컴파일러로 변환하고 실행한다.
  • JVM 스펙 : docs.oracle.com/javase/specs/jvms/se11/html/
 

The Java® Virtual Machine Specification

Tim Lindholm Frank Yellin Gilad Bracha Alex Buckley Daniel Smith

docs.oracle.com

 

JRE(Java Runtime Environment)

  • JVM + 라이브러리
  • 자바 애플리케이션을 실행할 수 있도록 구성된 배포판
  • JVM과 핵심 라이브러리 및 자바 런타임 환경에서 사용하는 프로퍼티 세팅이나 리소스 파일이 있다.
  • 개발 관련 도구는 포함 하지 않는다.

JDK(Java Development Kit) JRE + 개발 툴

  • JRE + 개발에 필요할 툴
  • 소스 코드를 작성할 때 사용하는 자바 언어는 플랫폼에 독립적
  • Write Once Run Anywhere
  • Oracle은 자바 11부터는 따로 JRE파일을 제공하지 않고 JDK만 제공

 

그리고 자바 유료화된다는 말은 Oracle JDK 11을 상용화 할 때 유료화인거지 나머지는 아니다.

 

Comments