1. 자바 가상 기계 (JVM)
운영체제는 자바 프로그램을 바로 실행할 수 X
-> 자바 프로그램은 완전한 기계어가 아닌, 중간 단계의 바이트 코드 이기 때문
-> 이를 해석하고 실행할 수 있는 가상의 운영체제 필요
=> 자바 가상 기계 (JVM : Java Virtual Machine)
자바 가상 기계 (JVM : Java Virtual Machine) : 실 운영체제를 대신해서 자바 프로그램을 실행하는 가상의 운영체제 역할을 함
-> 쉽게 말해, 자바를 실행시키는 가상의 기계
운영체제별로 프로그램을 실행하고 관리하는 방법이 달라
-> 운영체제별 자바 프로그램을 별도로 개발 X
=> 운영체제와 자바 프로그램을 중계하는 JVM을 두어 여러 운영체제에서 동일한 실행 결과가 나오도록 설계
바이트 코드는 모든 JVM에서 동일한 실행 결과를 보장 But, JVM은 운영체제에 종속적
-> 자바 프로그램을 운영체제가 이해하는 기계어로 번역해서 실행해야 하므로
JVM은 운영체제에 맞게 설치되어야 함
* JVM은 JDK 또는 JRE를 설치하면 자동으로 설치됨 -> JDK와 JRE가 운영체제별로 제공됨
2. 자바 실행 환경 (JRE) / 자바 개발 키드 (JDK)
자바 프로그램을 개발하기 위해서는 Java SE (Standard Edition)의 구현체인 JDK를 설치해야 함
Java SE 구현체 (두 가지 버전이 있음)
- 자바 개발 키트 (JDK: Java Development Kit)
- 프로그램 개발에 필요한 자바 가상 기계 (JVM), *라이브러리 API, 컴파일러 등의 개발 도구를 포함 - 자바 실행 환경 (JRE: Java Runtime Environment)
- 프로그램 실행에 필요한 자바 가상 기계 (JVM), 라이브러리 API만 포함
JRE = JVM + 표준 클래스 라이브러리
JDK = JRE + 개발에 필요한 도구
* API Document : http://docs.oracle.com/javase/8/docs/api/
[참고] 자바 프로그램 실행 단계
1. 확장자가 .java인 파일 (소스 파일) 작성
2. 컴파일러(javac.exe)로 컴파일 -> 확장자가 .class인 파일 (바이트 코드 파일) 생성
3. JVM 구동 명령어 (java.exe)로 JVM에서 바이트 코드 파일 해석 및 운영체제에 맞게 기계어로 번역