똑같은 삽질은 2번 하지 말자
JDK? JRE? JVM? 무슨 차이? JAVA 유료화? 본문
JVM(Java Virtual Machine)
- 자바 가상머신, 자바 바이트 코드(.class 파일)을 OS에 특화된 코드로 변환하는 역할
- 인터프리터와 JIT 컴파일러로 변환하고 실행한다.
- JVM 스펙 : docs.oracle.com/javase/specs/jvms/se11/html/
JRE(Java Runtime Environment)
- JVM + 라이브러리
- 자바 애플리케이션을 실행할 수 있도록 구성된 배포판
- JVM과 핵심 라이브러리 및 자바 런타임 환경에서 사용하는 프로퍼티 세팅이나 리소스 파일이 있다.
- 개발 관련 도구는 포함 하지 않는다.
JDK(Java Development Kit) JRE + 개발 툴
- JRE + 개발에 필요할 툴
- 소스 코드를 작성할 때 사용하는 자바 언어는 플랫폼에 독립적
- Write Once Run Anywhere
- Oracle은 자바 11부터는 따로 JRE파일을 제공하지 않고 JDK만 제공
그리고 자바 유료화된다는 말은 Oracle JDK 11을 상용화 할 때 유료화인거지 나머지는 아니다.
'Java' 카테고리의 다른 글
Java 8 @FunctionalInterface(함수형 인터페이스), 람다 표현식 (0) | 2020.10.18 |
---|---|
Java Reflection API(리플렉션) (0) | 2020.09.21 |
JIT 컴파일러 이해 (Just-In-Time 컴파일러) (0) | 2020.08.25 |
Java jacoco(코드 커버리지 측정) 사용방법 (0) | 2020.08.23 |
Map <String,Integer> Value 값의 기준으로 Key정렬 (오름차순, 내림차순) (0) | 2020.06.02 |
Comments