2. What is the difference among JVM, JRE, and JDK ?
질문의 목적
- JVM, JRE, JDK 의 차이를 제대로 이해하고 있는가 ?
JVM vs JRE
- JVM - Java Virtual Machine
- 컴파일 된 클래스 파일을 구동함. 실제 자바프로그램을 실행시키는 실행자
- JRE의 한 부분
- JRE - Java Runtime Environment
- 자바 프로그램이 실행될 수 있는 환경을 의미함
JRE 의 구성요소

- Class Loader : 컴파일된 클래스 파일을 메모리에 로딩시킴.
- Bytecode Verifier : 로딩된 클래스 파일의 정보가 플랫폼에서 실행되는데 문제가 되는지 실행 전 검증
- Java Virtual Machine : 검증된 클래스 파일을 플랫폼에서 실행시킴
JRE vs JDK
- JRE - Java Runtime Environment
- 자바가 실행될 수 있는 환경을 제공
- JDK - Java Development Kit
- 프로그램 개발을 위해서 필요한 것을 제공
- compiler : javac 등
- database for development
- samples
KeyWord
- JVM - byte code executor
- JRE - Runtime environment, JVM + ClassLoader, Bytecode Verifier
- JDK - JRE + toolset
