본문 바로가기

JAVA

0강 - JAVA란?

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