각각에 대해 이해하고, 차이점을 안다.
JVM(Java Virtual Machine)
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