JVM(Java Virtual Machine)
JVM은 자바 가상 머신의 줄임말로 java 파일이 컴파일러에 의해 생성된 class 파일(바이너리 파일)을 실행하는 가상 머신이다.
JVM은 바이너리 코드를 읽고, 검증하고, 실행한다.
JVM은 플랫폼에 의존적이다. 즉, 리눅스의 JVM과 Windows의 JVM은 다르다.
각 운영체제별로 JVM이 다르지만 Java 개발자들은 JVM 위에 Java 프로그램을 올리게 되어 운영체제에 관계없이 프로그램을 개발할 수 있다. 반대로 Java 제조사에서 각 운영체제별로 JVM을 개발한다.
JRE(Java Runtime Environment)
JRE는 자바 실행 환경의 줄임말로 JVM에 Java 라이브러리와 기타 파일들이 결합된 Java 프로그램을 실행하기 위한 환경이다.
JRE는 JVM의 실행환경을 구현했다고 할 수 있다.
JDK(Java Development Kit)
JDK는 자바 개발 도구의 줄임말이다.
JDK는 JRE + 개발에 필요한 도구(javac, 디버거, 컴파일러 등)들을 포함한다.
JDK는 상업 코드 기반의 오라클 JDK와 오픈소스인 OpenJDK가 있다. OpenJDK는 오라클, Azul 등에서 제공하고 있다.
'Java' 카테고리의 다른 글
Java abstract 자바 추상클래스 추상 메서드 (0) | 2019.06.10 |
---|---|
Java 접근제어자 (public, protected, default, private) (0) | 2019.06.10 |
객체 지향 프로그래밍(Object Oriented Programming, OOP) (0) | 2019.05.28 |
Java Method Signature 자바 메서드 시그니처 (0) | 2019.05.23 |
Java 메서드 오버로딩과 오버라이딩(Method Overloading & Overriding) (0) | 2019.05.23 |