1. 컴파일 vs 인터프리터
1) 컴파일 언어
1> 컴파일러가 전체 코드를 읽고 object code(Machine Language or Binary Code)로 변환
2> 한꺼번에 번역(컴파일)을 해놓기 때문에 실행속도가 빠르다.
2) 인터프리터 언어
1> 인터프리터는 한 줄씩 읽어서 그 즉시 수행한다.
2> 매 실행마다 번역 과정이 필요해서 실행속도가 느리다.
3> 대신에 디버깅이 편리하다.
2. JAVA의 특징
0) Java의 실행 과정
Java는 두 속성을 모두 갖는다.
1> Java Compiler : source code → byte code
Java compiler가 source code를 읽고 byte code(중간 언어; 바로 CPU가 읽을 수 없다.)를 만든다.
2> Java Virtual Machine : byte code → object code
byte code를 Java Virtual Machine이 (인터프리터처럼) 한 줄씩 읽고 object code로 변경한다.
- 빠른 속도가 필요하다면 Just-In-Time Compilation (실행하기 바로 전에 object code로 변경한다.)
이렇게 하는 이유는?
→ Java를 Platform-Independent 하게 하려고
1) Platform-Independent
1> 예시 : Window에서 compile한 byte code를 Linux에서 실행할 수 있다.
(C언어는 불가능하다.)
2> Platform-Independent가 가능한 이유 : byte code는 그 플랫폼에 맞게 interprete 할 수 있어서
2) Object-Oriented Language
3) Garbage Collection
메모리 할당 받고서 사용하지 않으면 자동으로 collect 해서 return 해서 메모리 관리가 편리하다.
4) Network와 multi-threading에 대한 지원
라이브러리로 가능하다.
3. Java Virtual Machine
byte code를 받아서 OS와 하드웨어 위에서 작동할 수 있게 하는 software
4. 실습
1) project name은 소문자로
2) 설치할 것
이클립트 주로 사용한다.
JDK를 먼저 깔고 (컴파일러, JVM이 있다.)
이클립스 (프로그램 환경)
'JAVA' 카테고리의 다른 글
[Java] 1-5강 - Inputs and Outputs (0) | 2020.10.06 |
---|---|
1-4강 - String (0) | 2020.10.06 |
1-3강 - Java Arithmetic Operator (0) | 2020.10.06 |
1-2강 - Java Primitive Type, Variable, Constant (0) | 2020.10.06 |
1-1강 - JAVA 기본기 (Hello World!) (0) | 2020.10.06 |