1. 자바 플랫폼
- 자바 프로그래머는 사람이 읽을 수 있는 고급 프로그래밍 언어로 프로그램 작성 - 컴퓨터의 CPU나 칩은 고급 프로그래밍 언어로 작성된 소스코드를 이해하지 못하고 기계어 코드만 이해 가능 - 기계어 코드는 CPU 수준에서 실행, CPU 모델에 따라 기계어 코드 다름 - 컴파일러가 소스 코드를 이해한 후 기계가 이해할 수 있는 코드로 변역 - 처리 기능은 JDK, JRE, JVM 내에서 발생
자바 개발 키트(Java Development Kit, JDK)
애플릿과 자바 애플리케이션 만드는 데 사용되는 소프트웨어 개발 환경
자바 개발자는 원도우, 맥. 솔라리스, 리눅스에서 사용 가능
자바 프로그램을 코딩하고 실행하는 데 도움이 됨
동일한 컴퓨터에 둘 이상의 버전 설치 가능
- JDK 특징
자바 프로그램을 작성하는 데 필요한 도구와 실행하는 JRE 포함
컴파일러, 자바 애플리케이션 실행기, 애플릿뷰어 등 포함
자바로 작성된 코드를 바이트 코드로 변환
자바 애플리케이션 런처는 JRE를 열어 클래스를 로드하고 메서드 실행
자바 런타임 환경(Java Runtime Environment, JRE)
다른 소프트웨어를 실행하도록 설계된 소프트웨어 의미
런타임 라이브러리, 클래스 로더, JVM 포함
자바 프로그램 실행을 위해 JRE 필요
- JRE 특징
런타임 라이브러리, JVM 및 기타 지원 파일 포함
디버거, 컴파일러 등 자바 개발 도구 포함 되어 있지 않음
Math, Swing, Util, Lang, Awt, 런타임 라이브러리와 같은 중요한 클래스 패키지 사용
자바 애플릿을 실행해야 하는 경우 시스템에 JRE 설치 되어 있어야 함
자바 가상 머신( JavaVirtualMachine, JVM)
자바 코드 또는 애플리케이션을 구동하기 위한 런타임 환경을 제공하는 엔진
자바 바이트코드를 기계어로 변환
JVM은 JRE의 일부
자바 컴파일러는 자바 가상 머신으로 알려진 가상 머신용 코드를 생성
- JVM 특징
플랫폼 독립적인 자바 소스 코드 실행 방법 제공
수많은 라이브러리, 도구, 프레임워크가 있음
자바 프로그램을 실행하면 모든 플랫폼에서 실행할 수 있고 많은 시간이 절약
자바 소스 코드를 저수준 기계어로 변환하는 JIT 컴파일러와 함께 제공
일반 응용 프로그램보다 빠르게 실행 가능
2. 자바 프로그램 실행 과정 - 자바 프로그램을 실행하면 프로그램의 소스 코드가 컴파일됨 - 특정 런타임 엔진이나 자바 가상 머신이 이해할 수 있는 바이트 코드 또는 머신 특정 코드 변환 - 프로그램은 구문 오류가 있는지 자바 컴파일로 검사 - 컴파일이 완료되면 다른 자바 코드 라이브러리를 프로그램에 추가할 수 있음
편집기 사용하여 소스 문서를 만들고 파일을 Hello.java 저장
javac.exe 명령어로 Hello.java 파일 컴파일
디스크에 바이트코드로 Hello.class 실행 파일 생성
javac.exe 명령어로 바이트코드를 기계어로 변환하여 JVM이 있는 플랫폼 또는 장치에서 실행