-
JDK, JRE, JVM이란 무엇일까?Java 2018. 7. 10. 12:46반응형
제가 자바를 처음 공부할 때 설치가 필요하다고 해서 설치를 하지만,,,
무엇인지 모르고 설치를 하고 무엇인지 모르고 계속 사용해왔던 용어들입니다.
이번 기회에 정리를 하려고 글을 작성해봤습니다.
1. JDK
- JDK는 자바 개발 도구 (Java Development Kit) 입니다.
JRE와 개발을 위해 필요한 도구를 포함한다. 그렇기 때문에 JDK를 설치하면 JRE가 설치됩니다. ^^
자바컴파일러(javac), 자바(java), 문서파일(javadoc), appletviewer, jdb, javap, rmic 등이 포함되어 있습니다.
* 컴파일러란? 컴퓨터가 이해할 수 있는 언어로 바꾸는 과정
2. JRE
- JRE는 자바 실행 환경 (Java Runtime Environment) 입니다.
JRE는 JVM이 자바 프로그램이 동작시킬 때 필요한 클래스 라이브러리와 파일들과 기타 파일들을 가지고 있습니다.(컴파일러 X)
3. JVM
- JVM은 자바 가상 머신 (Java Virtual Machin) 입니다.
JVM은 자바 소스코드로부터 만들어지는 자바 바이너리 파일( .class )를 실행할 수 있습니다.
또한 JVM은 플랫폼에 의존적이라 리눅스 JVM과 윈도우 JVM은 다릅니다.
단 컴파일된 바이너리 코드는 어떤 JVM에서도 동작시킬 수 있습니다.
JVM은
1) 바이너리 코드를 읽는다.
2) 바이너리 코드를 검증한다.
3) 바이너리 코드를 실행한다.
4) 실행환경의 규격을 제공한다.
* Java SDK(Software Development Kit) : JDK와 응용 프로그램 서버, 디버거 및 문서와 같은 추가 소프트웨어로 구성됩니다.
** 1) 사용자가 Java 코드를 작성하고 컴파일한다. (.class 파일 생성 -> JDK 컴파일)
2) 생성된 .class파일을 JVM이 실행하면 실행된다.
반응형'Java' 카테고리의 다른 글
객체 지향1. 캡슐화(Encapsulation)은 무엇일까? (0) 2018.07.13 가비지 컬렉션(Garbage Collection)??? (0) 2018.07.12 JVM 메모리 구조 (0) 2018.07.12 자바의 아버지는 누구인가? (0) 2018.07.11 Java 프로그래밍 언어 플랫폼(SE, EE, ME, FX) (0) 2018.07.11