자바, JVM, JDK 그리고 JRE
- JVM (Java Virtual Machine)
- 바이트 코드를 실행할 수 있다
- 구현체는 다양하다
- 플랫폼에 종속적이다 (네이티브 코드로 바꿔서 실행)
- 자바에 종속적이지 않음 (클래스 파일만 있다면 실행)
- Kotlin, Scala 등
- JRE => JVM + Library
- 자바 애플리케이션을 실행하기 위해 필요한 것만 있다
- 개발에 필요한 것은 없다 (컴파일러 등)
- JDK (Java Development Kit)
- JRE + 개발에 필요한 툴
- 오라클은 자바 11부터 JDK만 제공하며 JRE를 따로 제공하지 않는다
- 자바 9 부터는 모듈 시스템이 도입되었다 => 나만의 JRE를 구성할 수 있을 것
- 이제는 딱히 의미가 없다
- 자바
- 프로그래밍 언어
- Oracle JDK 11 버전부터 상용으로 사용할 때 유료
- Oracle OpenJDK 도 있음