JVM, JRE, JDK
Last updated
Last updated
단독으로 배포되지 않는다.
자바 파일을 컴파일 해서 생긴 클래스파일(바이트코드)을 운영체제에 종속적인 코드로 변환하여 실행한다. -> 특정 운영체제에 종속적 이라고 볼 수 있다..
JVM 벤더 : 오라클, 아마존, Azul...(다양하다..)
JVM 은 자바 프로그램이 실행되는 프로세스를 의미한다. -> java 명령어를 통해서 애플리케이션이 수행되면, JVM 위에서 애플리케이션이 동작한다.
클래스를 읽어들이고, 메모리에 올리는 등 다양한 역할을 한다.
최소 배포단위이다.
자바 애플리케이션을 실행하는 것이 목적이다.(코딩이 목적이 아니다..)
바이트 코드를 실행하기 위해서 JVM 이 필요하고, 필수적인 자바 문법을 사용하기 위한 라이브러리가 필요하다.
자바 개발 관련 도구는 포함하지 않는다.(개발 관련 도구는 JDK 에서 제공한다)
자바 개발 도구(자바 컴파일러도 포함되어 있다)
자바를 실행하기 위한 환경(JRE) 을 제공하고, 추가적으로 자바를 개발하기 위한 도구 또한 제공하는 것을 JDK 라고 부른다.
자바 11 부터는 JDK만 제공한다.(해당 버전부터 JDK 가 최소 배포단위이다) -> JRE 와 JDK 버전이 맞지 않으면 돌아가지 않는 이슈는 자바 11부터는 존재하지 않는다.
JVM 기반으로 동작하는 프로그래밍 언어.
JVM 은 .java 파일이 아닌, .class 파일을 사용해서 실행시키기 때문에, .class 파일을 만들어주는 언어들에서 사용할 수 있다. Ex) Java, Kotlin ...