Backend Study/Java
[JAVA] JVM, JRE, JDK 차이
gyu.ree
2023. 1. 27. 15:39
1. JVM
JVM은 자바 가상머신 (Java Virtual Machine)의 약자이다.
JVM은 자바 소스코드로부터 만들어지는 자바 바이너리 파일(.class)을 실행할 수 있고, 컴파일된 바이너리 코드는 어떤 JVM에서도 동작시킬 수 있다. 하지만, 플랫폼에 의존적이라 리눅스 JVM과 윈도우즈 JVM은 다르다.
2. JRE
JRE는 자바 실행환경 (Java Runtime Environment)의 약자이다.
JRE는 JVM이 자바 프로그램을 동작시킬 때 필요한 라이브러리 파일들과 기타 파일들을 가지고있다.
3. JDK
JDK는 자바 개발도구 (Java Development Kit)의 약자이다.
JDK는 JRE + 개발을 위해 필요한 도구(javac, java)등 들을 포함한다.
자바 소스 코드를 작성하고 컴파일하고, 실행할 목적이라면 JDK를 설치하고
자바로 만들어진 프로그램을 실행한다면 JRE만 설치해도 충분하다.
+ Oracle JDK, Open JDK?
jdk는 크게 Oracle JDK과 Open JDk가 있다. 실질적인 기술 차이는 없으나, JVM 성능 면에서는 Oracle JDK가 훨씬 좋다. (Oracle JDK는 유료이기때문에 안정성에 중점을 두고있다.