No. 01 |
|
| |
JVM(Java Virtual Machine)이란? |
▣ 자바 실행을 위한 가상 서버
자바가 다른 프로그래밍 언어와 비교하여 가장 큰 장점은 한 번 프로그램을 작성하면 어느 하드웨어에서나 어느 운영체제에서나 자바 프로그램을 실행시킬 수 있다. 이를 WORA(Write Once Run Anywhere) 라고 한다.
일반의 경우 실행 환경에 맞게 프로그램의 변경이 필요한 반면 자바의 경우 OS에 맞는 JVM만 설치되어 있으면 실행이 가능하다.
이로 인한 단점은 다른 언어들에 비해 한번의 과정을 더 거치기 때문에 수행속도가 느리다는 것이지만 예전에 비해 비약적으로 높아진 하드웨어 성능으로 인해 문제되지 않는다고 볼 수 있다.
No. 02 |
|
| |
JDK와 JRE |
▣ JRE(Java Runtime Enviroment)
실행 환경으로 JVM을 포함하고 있으며, 자바를 개발하고자 하는 경우가 아닌 실행 환경만 제공한다.
그러므로 일반적으로 개발용이 아닌 경우 대부분의 컴퓨터에는 자바 JRE가 설치되어 있다.
▣ JDK(Java Development Kit)
자바 응용프로그램 개발에 필요한 컴파일러 및 기타 도구, JRE(Java Runtime Enviroment), 클래스 라이브러리의 소스 등을 포함한다.
▣ JDK 디렉터리 구조
자바가 설치된 폴더에 가보면 다음의 구조를 볼 수 있다.
다음은 JDK의 bin 디렉터리에 포함되어 있는 주요 개발 도구들이다.
· javac : 자바 소스를 바이트 코드로 변환하는 컴파일러이다.
· java : jre의 bin 디렉터리에도 동시에 설치되어 있는 자바 응용프로그램 실행기로서,
이 도구를 통해 JVM이 작동하며 자바 프로그램을 실행한다.
· javadoc : 자바 소스 프로그램으로부터 HTML 형식의 API 도큐먼트를 생성한다.
· jar : 자바 클래스 파일을 압축한 자바 아카이브 파일(JAR)을 생성하고 관리하는 유틸리이다.
· jdb : 자바 으용프로그램의 실행 중 오류를 찾는 데 사용하는 디버거이다.
· javap : 자바 클래스 파일에 담긴 바이트 코드를 자바 소스와 함게 보여주는 디어셈블러(diassembler)이다.
No. 03 |
|
| |
자바 프로그램 작성하기 |
▣ 자바 실행 구조
· 컴파일(Compile) : 인간이 구분하기 쉬운 언어로 작성된 프로그램을 기계어(컴퓨터 등의 기계가 이해할 수 있는 언어)로 번역하는 것
· 인터프리터(Interpreter) : 프로그램을 한줄 한줄, 한 단계씩 해석하여 실행하는 것
● 다음의 과정들을 따라하면서 자바프로그램이 어떠한 순서로 실행되는지 확인해보자.
1. C드라이브에 JavaEx 폴더를 생성한다.
2. 윈도우의 보조 프로그램에 있는 메모장을 실행시켜 아래와 같이 입력한다.
대소문자를 구분하므로 주의해야 한다.
Hello, World. 라고 화면에 표시해주는 프로그램이다.
3. 파일의 저장을 클릭한다.
4. C드라이브에 만든 JavaEx폴더에 다음의 순서대로 변경하여 저장한다.
① 파일 형식 : 모든 파일
② 파일 이름 : Hello.java Hello.java
③ 저장
5. '윈도우키+R'키를 누르면 실행창이 나타난다. 실행창에 'cmd'를 입력하고, '확인'을 누른다.
6. 다음의 순서대로 명령어를 입력하고 Enter를 누른다.
① cd\
② cd javaEx
③ javac Hello.java
cd(change directory)는 폴더를 변경할 때 사용되는 명령어이다.
javac Hello.java는 Hello라는 자바 파일을 컴파일 하라는 명령어이다.
7. dir 이라는 명령어를 입력하고 Enter를 누르면 다음과 같이 javaEx폴더에 Hello.class라는 파일이 새로 생긴것을 볼 수 있다.
Hello.java 파일을 컴파일하여 만들어진 파일이다.
8. 'java Hello'라는 명령어를 입력하고 엔터를 치면 "Hello, world."라고 화면에 표시되는 것을 볼 수 있다.
'JAVA' 카테고리의 다른 글
[Java 05] 변수와 식별자 (1) | 2017.11.13 |
---|---|
[Java 04] 자바 프로그램의 구조 (1) | 2017.11.12 |
[Java 03] 이클립스(eclipse) 기본 사용법 (0) | 2017.11.12 |
[Java 01] 이클립스(eclipse) 설치 및 설정 (0) | 2017.11.11 |
[Java 00] Java 설치 및 환경변수 설정 (0) | 2017.11.10 |